project Websites / videos.bentasker.co.uk avatar

Websites / videos.bentasker.co.uk: ed3b9657




Minify embed.js to include VID-14 changes in distribution

Minify embed.js to include VID-14 changes in distribution

Commit ed3b9657.

Authored 2019-12-15T10:58:47.000+00:00 by B Tasker in project Websites / videos.bentasker.co.uk

+1 lines -10 lines

Changes

diff --git a/resources/embed/embed.min.js b/resources/embed/embed.min.js
--- a/resources/embed/embed.min.js
+++ b/resources/embed/embed.min.js
# @@ -1,10 +1 @@
# -/*
# -Embed library for videos.bentasker.co.uk
# -
# -Copyright (c) 2019 B Tasker
# -
# -Loads in player (basically videoJS and plugins) Javascript and writes a videoobject into the page.
# -
# -v0.14
# -*/
# -window.BensPlayerInstances=window.BensPlayerInstances===undefined?[]:window.BensPlayerInstances;window.BensPD="https://videos.bentasker.co.uk/";function cE(t){return document.createElement(t)}document.write=function(s){var scripts=document.getElementsByTagName("script");var lastScript=scripts[scripts.length-1];lastScript.insertAdjacentHTML("beforebegin",s)};function embedBensPlayer(vidurl,vidtype){if(vidtype==undefined){vidtype="application/x-mpegURL"}var vidid=0;while(true){if(window.BensPlayerInstances.includes(vidid)){vidid++}else{window.BensPlayerInstances.push(vidid);break}}if(vidurl.substring(0,31)!=window.BensPD){vidurl=window.BensPD+vidurl}document.write("<div id='BensplayerWrapper"+vidid+"' class='BensVideoCont'></div>");var c=document.getElementById("BensplayerWrapper"+vidid);var e=cE("link");e.setAttribute("rel","stylesheet");e.setAttribute("href",window.BensPD+"resources/js/videojs/video-js.min.css");c.appendChild(e);playerSettings={vidtype:vidtype,vidurl:vidurl,vidid:vidid};getBensToken(vidid,playerSettings)}function getBensToken(vidid,playerSettings){var ref=encodeURIComponent(window.location.href);var vurl=encodeURIComponent(playerSettings["vidurl"].replace(window.BensPD,""));var url=window.BensPD+"token_endpoint?ref="+ref+"&vidpath="+vurl;var xmlhttp;if(window.XMLHttpRequest){xmlhttp=new XMLHttpRequest}else{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")}xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){if(xmlhttp.status==200){var j=JSON.parse(xmlhttp.responseText);if(!j["status"]){console.log("Failed to retrieve token for video");embedFailedNotif(vidid);return false}playerSettings["vidurl"]+="?t="+encodeURIComponent(j["token"])+"&e="+encodeURIComponent(j["exp"]);loadVJS(vidid,playerSettings)}else{console.log("Failed to retrieve token for video");embedFailedNotif(vidid);return false}}};xmlhttp.open("GET",url,true);xmlhttp.send()}function writePlayer(vidid,playerSettings){var c=document.getElementById("BensplayerWrapper"+vidid);var width=c.parentNode.clientWidth;var d=cE("div");d.id="videowrapper"+vidid;v=cE("video");v.setAttribute("id","BensVideo"+vidid);v.setAttribute("class","video-js");v.setAttribute("controls","");v.setAttribute("preload","auto");v.setAttribute("width",width);var src=cE("source");src.setAttribute("src",playerSettings["vidurl"]);src.setAttribute("type",playerSettings["vidtype"]);v.appendChild(src);d.appendChild(v);c.appendChild(d);var s=cE("script");s.setAttribute("type","text/javascript");ss="window.player"+vidid+" = videojs('BensVideo"+vidid+"',\"{'fluid':true}\", function onPlayerReady(){console.log('Player Ready');});";ss+="window.player"+vidid+".on('playing', function() { var i = document.createElement('img'); i.src = 'https://piwik.bentasker.co.uk/piwik.php?idsite=10&rec=1&new_visit=1&url=' + encodeURIComponent(window.player"+vidid+".currentSrc().split('?')[0]) + '&urlref=' + encodeURIComponent(window.location.href); i.style='border:0';document.body.appendChild(i);});";s.innerHTML=ss;c.appendChild(s);dirname=playerSettings["vidurl"].match(/.*\//);fetchPage(dirname+"details.json",BenswriteSchemaOrg,function(e){},playerSettings)}function loadVJS(vidid,playerSettings){var c=document.getElementById("BensplayerWrapper"+vidid);var e=cE("script");e.setAttribute("type","text/javascript");e.setAttribute("src",window.BensPD+"resources/js/videojs/video.min.js");if(window.playerSettings["vidtype"]=="application/x-mpegURL"){e.onload=function(){loadVJSHLS(vidid,playerSettings)}}else{e.onload=function(){writePlayer(vidid,playerSettings)}}c.appendChild(e)}function loadVJSHLS(vidid,playerSettings){var c=document.getElementById("BensplayerWrapper"+vidid);var e=cE("script");e.setAttribute("type","text/javascript");e.setAttribute("src",window.BensPD+"resources/js/videojs-contrib-hls.min.js");e.onload=function(){writePlayer(vidid,playerSettings)};c.appendChild(e)}function fetchPage(url,callback,errcallback,storage){var xmlhttp;if(window.XMLHttpRequest){xmlhttp=new XMLHttpRequest}else{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")}xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){if(xmlhttp.status==200){callback(xmlhttp.responseText,storage,url)}else{errcallback(xmlhttp.responseText)}}};xmlhttp.open("GET",url,true);xmlhttp.send()}function embedFailedNotif(vidid){s=cE("img");s.setAttribute("src",window.BensPD+"resources/embed/failed.png");var c=document.getElementById("BensplayerWrapper"+vidid);var width=c.parentNode.clientWidth;s.setAttribute("style","max-width: "+width+"px");c.appendChild(s)}function BenswriteSchemaOrg(text,storage,url){if(!text||!storage||!url){return}var j=JSON.parse(text);var d=document.getElementById("BensplayerWrapper"+storage["vidid"]);d.setAttribute("itemscope","");d.setAttribute("itemtype","https://schema.org/VideoObject");m=cE("meta");var url=window.BensPD+"Player.html?url="+encodeURIComponent(url.replace(window.BensPD,""));m.setAttribute("itemprop","url");m.setAttribute("content",url);d.appendChild(m);if(j.hasOwnProperty("title")){var m=cE("meta");m.setAttribute("itemprop","name");m.setAttribute("content",j["title"]);d.appendChild(m)}if(j.hasOwnProperty("description")){var m=cE("meta");m.setAttribute("itemprop","description");m.setAttribute("content",j["description"].replace(/'/g,""));d.appendChild(m)}if(j.hasOwnProperty("keywords")){var m=cE("meta");m.setAttribute("itemprop","keywords");m.setAttribute("content",j["keywords"].replace(/'/g,""));d.appendChild(m)}var m=cE("meta");m.setAttribute("itemprop","playerType");m.setAttribute("content","html5");d.appendChild(m)}
# +window.BensPlayerInstances=window.BensPlayerInstances===undefined?[]:window.BensPlayerInstances;window.BensPD="https://videos.bentasker.co.uk/";function cE(t){return document.createElement(t)}document.write=function(s){var scripts=document.getElementsByTagName("script");var lastScript=scripts[scripts.length-1];lastScript.insertAdjacentHTML("beforebegin",s)};function guessMimeFromUrl(vidurl){var segs=vidurl.split(".");var ext=segs[segs.length-1];if(!ext){return"video/mp4"}switch(ext.toLowerCase()){case"m3u8":return"application/x-mpegURL";break;case"avi":return"video/avi";break;case"mp3":return"audio/mpeg";break;case"mkv":return"video/x-matroska";break;case"webm":return"video/webm";break;case"mov":return"video/quicktime";break;case"mpg":return"video/mpeg";break;case"mpeg":return"video/mpeg";break;case"mp4":return"video/mp4";break;case"mp4a":return"audio/mp4";break;case"wav":return"audio/wav";break;default:console.log("Calculating mimetime failed for "+vidurl+" ext: "+ext.toLowerCase());return"video/mp4"}}function embedBensPlayer(vidurl,vidtype){vidtype=guessMimeFromUrl(vidurl);var vidid=0;while(true){if(window.BensPlayerInstances.includes(vidid)){vidid++}else{window.BensPlayerInstances.push(vidid);break}}if(vidurl.substring(0,31)!=window.BensPD){vidurl=window.BensPD+vidurl}document.write("<div id='BensplayerWrapper"+vidid+"' class='BensVideoCont'></div>");var c=document.getElementById("BensplayerWrapper"+vidid);var e=cE("link");e.setAttribute("rel","stylesheet");e.setAttribute("href",window.BensPD+"resources/js/videojs/video-js.min.css");c.appendChild(e);playerSettings={vidtype:vidtype,vidurl:vidurl,vidid:vidid};getBensToken(vidid,playerSettings)}function getBensToken(vidid,playerSettings){var ref=encodeURIComponent(window.location.href);var vurl=encodeURIComponent(playerSettings["vidurl"].replace(window.BensPD,""));var url=window.BensPD+"token_endpoint?ref="+ref+"&vidpath="+vurl;var xmlhttp;if(window.XMLHttpRequest){xmlhttp=new XMLHttpRequest}else{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")}xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){if(xmlhttp.status==200){var j=JSON.parse(xmlhttp.responseText);if(!j["status"]){console.log("Failed to retrieve token for video");embedFailedNotif(vidid);return false}playerSettings["vidurl"]+="?t="+encodeURIComponent(j["token"])+"&e="+encodeURIComponent(j["exp"]);loadVJS(vidid,playerSettings)}else{console.log("Failed to retrieve token for video");embedFailedNotif(vidid);return false}}};xmlhttp.open("GET",url,true);xmlhttp.send()}function writePlayer(vidid,playerSettings){var c=document.getElementById("BensplayerWrapper"+vidid);var width=c.parentNode.clientWidth;var d=cE("div");d.id="videowrapper"+vidid;v=cE("video");v.setAttribute("id","BensVideo"+vidid);v.setAttribute("class","video-js");v.setAttribute("controls","");v.setAttribute("preload","auto");v.setAttribute("width",width);var src=cE("source");src.setAttribute("src",playerSettings["vidurl"]);src.setAttribute("type",playerSettings["vidtype"]);v.appendChild(src);d.appendChild(v);c.appendChild(d);var s=cE("script");s.setAttribute("type","text/javascript");ss="window.player"+vidid+" = videojs('BensVideo"+vidid+"',\"{'fluid':true}\", function onPlayerReady(){console.log('Player Ready');});";ss+="window.player"+vidid+".on('playing', function() { var i = document.createElement('img'); i.src = 'https://piwik.bentasker.co.uk/piwik.php?idsite=10&rec=1&new_visit=1&url=' + encodeURIComponent(window.player"+vidid+".currentSrc().split('?')[0]) + '&urlref=' + encodeURIComponent(window.location.href); i.style='border:0';document.body.appendChild(i);});";s.innerHTML=ss;c.appendChild(s);dirname=playerSettings["vidurl"].match(/.*\//);fetchPage(dirname+"details.json",BenswriteSchemaOrg,function(e){},playerSettings)}function loadVJS(vidid,playerSettings){var c=document.getElementById("BensplayerWrapper"+vidid);var e=cE("script");e.setAttribute("type","text/javascript");e.setAttribute("src",window.BensPD+"resources/js/videojs/video.min.js");if(window.playerSettings["vidtype"]=="application/x-mpegURL"){e.onload=function(){loadVJSHLS(vidid,playerSettings)}}else{e.onload=function(){writePlayer(vidid,playerSettings)}}c.appendChild(e)}function loadVJSHLS(vidid,playerSettings){var c=document.getElementById("BensplayerWrapper"+vidid);var e=cE("script");e.setAttribute("type","text/javascript");e.setAttribute("src",window.BensPD+"resources/js/videojs-contrib-hls.min.js");e.onload=function(){writePlayer(vidid,playerSettings)};c.appendChild(e)}function fetchPage(url,callback,errcallback,storage){var xmlhttp;if(window.XMLHttpRequest){xmlhttp=new XMLHttpRequest}else{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")}xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){if(xmlhttp.status==200){callback(xmlhttp.responseText,storage,url)}else{errcallback(xmlhttp.responseText)}}};xmlhttp.open("GET",url,true);xmlhttp.send()}function embedFailedNotif(vidid){s=cE("img");s.setAttribute("src",window.BensPD+"resources/embed/failed.png");var c=document.getElementById("BensplayerWrapper"+vidid);var width=c.parentNode.clientWidth;s.setAttribute("style","max-width: "+width+"px");c.appendChild(s)}function BenswriteSchemaOrg(text,storage,url){if(!text||!storage||!url){return}var j=JSON.parse(text);var d=document.getElementById("BensplayerWrapper"+storage["vidid"]);d.setAttribute("itemscope","");d.setAttribute("itemtype","https://schema.org/VideoObject");m=cE("meta");var url=window.BensPD+"Player.html?url="+encodeURIComponent(url.replace(window.BensPD,""));m.setAttribute("itemprop","url");m.setAttribute("content",url);d.appendChild(m);if(j.hasOwnProperty("title")){var m=cE("meta");m.setAttribute("itemprop","name");m.setAttribute("content",j["title"]);d.appendChild(m)}if(j.hasOwnProperty("description")){var m=cE("meta");m.setAttribute("itemprop","description");m.setAttribute("content",j["description"].replace(/'/g,""));d.appendChild(m)}if(j.hasOwnProperty("keywords")){var m=cE("meta");m.setAttribute("itemprop","keywords");m.setAttribute("content",j["keywords"].replace(/'/g,""));d.appendChild(m)}var m=cE("meta");m.setAttribute("itemprop","playerType");m.setAttribute("content","html5");d.appendChild(m)}
# \ No newline at end of file
#