mirror of
https://github.com/teachingtechYT/teachingtechYT.github.io.git
synced 2024-08-30 18:23:26 +00:00
173 lines
5.2 KiB
JavaScript
173 lines
5.2 KiB
JavaScript
/*
|
|
* VideoBox
|
|
* Example and Documentation: https://github.com/tedktedk/videobox/blob/master/README.md
|
|
*
|
|
* Version: 1.1
|
|
*
|
|
* Copyright (c) 2016 Ted k'
|
|
* http://tedk.com.br/
|
|
*
|
|
* Dual licensed under the MIT or GPL Version 2 licenses:
|
|
* http://www.opensource.org/licenses/mit-license.php
|
|
* http://www.gnu.org/licenses/gpl.html
|
|
*/
|
|
(function($){
|
|
$.fn.extend({
|
|
videoBox: function(options){
|
|
var obj = $(this);
|
|
var tag_v = document.createElement("script");
|
|
var firstScriptTag = document.getElementsByTagName("script")[0];
|
|
|
|
var defaults_yt = {
|
|
autohide: 2,
|
|
autoplay: 0,
|
|
cc_load_policy: 1,
|
|
color: "",
|
|
controls: 1,
|
|
disablekb: 0,
|
|
enablejsapi: 0,
|
|
fs: 1,
|
|
hl: "",
|
|
iv_load_policy: 1,
|
|
loop: 0,
|
|
modestbranding: 1,
|
|
showinfo: 1,
|
|
height: 390,
|
|
width: 640
|
|
};
|
|
|
|
var defaults_vm = {
|
|
width: 640,
|
|
height: 360,
|
|
loop: false,
|
|
autoplay: false,
|
|
byline: true,
|
|
color: "00adef",
|
|
maxheight: "",
|
|
maxwidth: "",
|
|
portrait: true,
|
|
title: ""
|
|
};
|
|
|
|
var defaults_k = {
|
|
partner_id: "243342",
|
|
uiconf_id: "12905712",
|
|
entry_id: "0_uka1msg4",
|
|
width: 640,
|
|
height: 360,
|
|
switchOnResize: false,
|
|
simpleFormat: true,
|
|
displayMode: "sizebitrate",
|
|
inlineScript: false,
|
|
hideSource: null,
|
|
autoPlay: false
|
|
};
|
|
|
|
var options_yt = $.extend(defaults_yt, options);
|
|
var options_vm = $.extend(defaults_vm, options);
|
|
var options_k = $.extend(defaults_k, options);
|
|
|
|
$.each( obj, function( key, value ){
|
|
var _this = $(value);
|
|
|
|
if (_this.attr("data-youtube")){
|
|
tag_v.id = "VIDEOBOX_createTag_y";
|
|
if (!document.getElementById("VIDEOBOX_createTag_y")){
|
|
tag_v.src = "https://www.youtube.com/iframe_api";
|
|
firstScriptTag.parentNode.insertBefore(tag_v, firstScriptTag);
|
|
}
|
|
}
|
|
else if (_this.attr("data-vimeo")){
|
|
var randomID = "VIDEOBOX_" + Math.floor(Math.random() * 100) + key;
|
|
var returnID = _this.attr("data-vimeo").match(/https?:\/\/(?:www\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|)(\d+)(?:$|\/|\?)/);
|
|
|
|
tag_v.id = "VIDEOBOX_createTag_v";
|
|
_this.attr("id", randomID);
|
|
|
|
if (!document.getElementById("VIDEOBOX_createTag_v")){
|
|
tag_v.src = "https://player.vimeo.com/api/player.js";
|
|
firstScriptTag.parentNode.insertBefore(tag_v, firstScriptTag);
|
|
}
|
|
|
|
tag_v.addEventListener("load", function(e){
|
|
options_vm.id = returnID[3];
|
|
return new Vimeo.Player(document.getElementById(randomID), options_vm);
|
|
}, false);
|
|
}
|
|
else if (_this.attr("data-kaltura")){
|
|
var randomID = "VIDEOBOX_k_" + Math.floor(Math.random() * 100) + key;
|
|
|
|
tag_v.id = "VIDEOBOX_createTag_k";
|
|
_this.attr("id", randomID);
|
|
_this.attr("itemprop", "video");
|
|
_this.attr("itemscope", true);
|
|
_this.attr("itemtype", "http://schema.org/VideoObject");
|
|
_this.css({ "width": options_k.width + "px", "height": options_k.height + "px" });
|
|
|
|
if (!document.getElementById("VIDEOBOX_createTag_k")){
|
|
tag_v.src = "https://cdnapisec.kaltura.com/p/" + options_k.partner_id + "/sp/" + options_k.partner_id + "00/embedIframeJs/uiconf_id/" + options_k.uiconf_id + "/partner_id/" + options_k.partner_id + "";
|
|
firstScriptTag.parentNode.insertBefore(tag_v, firstScriptTag);
|
|
}
|
|
|
|
tag_v.addEventListener("load", function(e){
|
|
kWidget.embed({
|
|
targetId: randomID,
|
|
wid: "_" + options_k.partner_id,
|
|
uiconf_id: options_k.uiconf_id,
|
|
entry_id: options_k.entry_id,
|
|
flashvars: {
|
|
"sourceSelector": {
|
|
"plugin": true,
|
|
"switchOnResize": options_k.switchOnResize,
|
|
"simpleFormat": options_k.simpleFormat,
|
|
"displayMode": options_k.displayMode,
|
|
"hideSource": options_k.hideSource
|
|
},
|
|
"mediaProxy.preferedFlavorBR": "1600",
|
|
"autoPlay": options_k.autoPlay,
|
|
"inlineScript": options_k.inlineScript
|
|
}
|
|
});
|
|
}, false);
|
|
}
|
|
});
|
|
|
|
window.onYouTubeIframeAPIReady = function(){
|
|
$.each( obj, function( key, value ){
|
|
var _this = $(value);
|
|
var randomID = "VIDEOBOX_" + Math.floor(Math.random() * 100) + key;
|
|
|
|
if (_this.attr("data-youtube")){
|
|
_this.attr("id", randomID);
|
|
var returnID = _this.attr("data-youtube").match(/(?:https?:\/{2})?(?:w{3}\.)?youtu(?:be)?\.(?:com|be)(?:\/watch\?v=|\/)([^\s&]+)/);
|
|
|
|
return new YT.Player(randomID, {
|
|
height: options_yt.height,
|
|
width: options_yt.width,
|
|
videoId: returnID[1],
|
|
playerVars: {
|
|
"autohide": options_yt.autohide,
|
|
"autoplay": options_yt.autoplay,
|
|
"cc_load_policy": options_yt.cc_load_policy,
|
|
"color": options_yt.color,
|
|
"controls": options_yt.controls,
|
|
"disablekb": options_yt.disablekb,
|
|
"enablejsapi": options_yt.enablejsapi,
|
|
"fs": options_yt.fs,
|
|
"hl": options_yt.hl,
|
|
"iv_load_policy": options_yt.iv_load_policy,
|
|
"loop": options_yt.loop,
|
|
"modestbranding": options_yt.modestbranding,
|
|
"showinfo": options_yt.showinfo,
|
|
"height": options_yt.height,
|
|
"width": options_yt.width
|
|
}
|
|
});
|
|
}
|
|
});
|
|
};
|
|
}
|
|
});
|
|
|
|
})(jQuery);
|