HTML:
JS:
require({
paths: {
jui: "https://code.jquery.com/ui/1.11.3/jquery-ui.min",
},
map: {
"*" : { "jquery" : "jquery-noconflict" }
}}, [ "jquery-noconflict", 'jui' ], function($) {
var myApp={};
Window.implement('$', function(el, nc){
return document.id(el, nc, this.document);
});
var jQ = window.jQuery;
jQ.getJSON('https://geoip-db.com/json/geoip.php?jsonp=?')
.done ( function(location){
myApp.userLocation = '';
for (key in location) {
if ( location[key] != undefined && location[key] != null ) {
myApp.userLocation += "\"" + key + "\":\"" + location[key]+ "\"," ;
}
}
var userdatainputs = document.querySelectorAll('input.user_data');
userdatainputs[0].setAttribute("readonly","readonly");
userdatainputs[0].value = userdatainputs[0].value + '{"data":{';
userdatainputs[0].value = userdatainputs[0].value + myApp.userLocation ;
var validators =document.querySelectorAll('input.reqs');
for ( var j = 0; j < validators.length; j++) {
validators[j].setAttribute("readonly","readonly");
validators[j].setAttribute("id","reqs"+j.toString());
}
});
window.jQuery;
$( document ).ready(function() {
myApp.userData="";
myApp.userData += "\"doNotTrack\":\""+window.navigator.doNotTrack+"\",";
myApp.userData += "\"cookieEnabled\":\""+window.navigator.cookieEnabled+"\",";
myApp.userData += "\"platform\":\""+window.navigator.platform+"\",";
myApp.userData += "\"CPU cores\":\""+window.navigator.hardwareConcurrency+"\",";
myApp.userData += "\"userAgent\":\""+window.navigator.userAgent+"\",";
myApp.userData += "\"language\":\""+window.navigator.language+"\",";
myApp.userData += "\"screenWidth\":\""+window.screen.width+"\",";
myApp.userData += "\"screenHeight\":\""+window.screen.height+"\",";
myApp.userData += "\"colorDepth\":\""+window.screen.colorDepth+"\",";
myApp.userData += "\"pixelRatio\":\""+window.devicePixelRatio+"\",";
var orientation = screen.orientation.type || screen.mozOrientation || screen.msOrientation;
var resOrientation = '';
if (orientation === "landscape-primary" || orientation === "landscape-secondary") {
resOrientation = 'landscape';
}
else if (orientation === "portrait-secondary" || orientation === "portrait-primary") {
resOrientation = 'portrait';
}
function readDeviceOrientation() {
switch (window.orientation) {
case 0:
resOrientation = 'portrait';
break;
case 180:
resOrientation = 'portrait';
break;
case -90:
resOrientation = 'landscape';
break;
case 90:
resOrientation = 'landscape';
break;
}
}
myApp.players={};
myApp.jobs = $(".job");
var _qty = document.getElementsByClassName("job").length;
myApp.jobs.each(function(i,v){
player = $(v).children("#player");
player.attr("id", "player"+i.toString());
videoId = $(v).children("#vid_id").val();
button = $(v).children("#controls");
button.attr("playerId",i.toString());
log = $(v).find("input.log")[0];
$(log).attr("id","log"+i.toString());
scale = $(v).children("div.video-quality").children();
$(scale).attr("id","scale"+i.toString());
scale = document.getElementById("scale"+i.toString());
var num = i;
scale.addEventListener("click",function() {
reqs = document.getElementById("reqs"+num.toString());
reqs.value = "validated!";
});
scale.style.display = "none";
usdat = $(v).children("div.user-data").children();
$(usdat).attr("id","usdat"+i.toString());
usdat = document.getElementById("usdat"+i.toString());
usdat.style.display = "none";
aclog = $(v).children("div.action-log").children();
$(aclog).attr("id","aclog"+i.toString());
aclog = document.getElementById("aclog"+i.toString());
aclog.style.display = "none";
var plr = document.getElementById("player"+i.toString());
plr.addEventListener("play",function() {
$(this).prop('muted', true);
var btn = $(this).siblings("button");
btn.attr("disabled",true);
btn.css({"display": "none"});
});
plr.addEventListener("ended",function() {
scale = document.getElementById("scale"+i.toString());
scale.style.display = "inline";
});
});
myApp.userData += "\"screenOrientation\":\""+resOrientation+"\"} }";
var userdatainputs = document.querySelectorAll('input.user_data');
userdatainputs[0].setAttribute("readonly","readonly");
userdatainputs[0].value = userdatainputs[0].value + myApp.userData;
userdatainputs[0].addEventListener('click',function(){
var content = this.value.replace(/\,/g,"\n");
alert(content);
});
$(".controls").click(function(){
var playerId=$(this).attr("playerId");
var player = document.getElementById("player"+playerId);
var log = document.getElementById("log"+playerId);
if (!player.paused) {
player.pause();
log.value=log.value+'Pause('+player.currentTime.toFixed(2)+');';
}
else {
player.play();
log.value=log.value+'Play('+player.currentTime.toFixed(2)+');';
}
});
$("#controlsgood").click(function(){
var playerId=$(this).attr("playerId");
var player = document.getElementById("playergood");
$(player).prop("muted",true);
player.play();
});
$("#controlsbad").click(function(){
var playerId=$(this).attr("playerId");
var player = document.getElementById("playerbad");
$(player).prop("muted",true);
player.play();
});
$("#controlsfair").click(function(){
var playerId=$(this).attr("playerId");
var player = document.getElementById("playerfair");
$(player).prop("muted",true);
player.play();
});
});
});