2 lines
13 KiB
JavaScript
2 lines
13 KiB
JavaScript
function t_videoPlayer__init(e,t){return"mp4"===t||"webm"===t?t_video__initPlayer__htmlVideo(e,t):"rutube"===t?t_video__initPlayer__rutube(e):"vkvideo"===t?t_video__initPlayer__vkvideo(e):"youtube"===t?t_video__initPlayer__youtube(e):"vimeo"===t?t_video__initPlayer__vimeo(e):"kinescope"===t?t_video__initPlayer__kinescope(e):"boomstream"===t?t_video__initPlayer__boomstream(e):(console.warn("unsupported video type:",t),Promise.reject(null))}function t_video__doRutubeCommand(e,t){e.contentWindow.postMessage(JSON.stringify({type:"player:"+t,data:{}}),"*")}function t_video__doVimeoCommand(e,t){e.contentWindow.postMessage(JSON.stringify({method:t,value:"true"}),"*")}function t_video__doBoomstreamCommand(e,t,o){e.contentWindow.postMessage({code:o,method:"action",action:t,data:""},"*")}function t_video__getPlayer(e){var t;return e.TildaVideoPlayer||null}function t_video__initPlayer__youtube(e){var t="youtube";return new Promise((function(o,i){var n=e.querySelector("iframe");if(!n)return i(new Error(t+": IFrame Element not Found"));t_onFuncLoad("t_loadJsFile",(function(){t_loadJsFile("https://www.youtube.com/iframe_api")})),t_onFuncLoad("YT",(function(){var i=n.id;if(!YT.Player)return setTimeout((function(){t_video__initPlayer__youtube(e).then(o)}),300);var r=new YT.Player(i,{events:{onReady:function i(r){var a=r.target,d={videoType:t,pause:function e(){return a.pauseVideo()},play:function e(){return a.playVideo()},mute:function e(){return console.warn(t+" Mute is not implemented")},unmute:function e(){return console.warn(t+" Unmute is not implemented")},videoEl:n,player:a};return e.TildaVideoPlayer=d,o(d)}}})}))}))}function t_video__initPlayer__vimeo(e){var t="vimeo";return new Promise((function(o,i){var n=e.querySelector("iframe");if(!n)return i(new Error(t+": IFrame Element not Found"));var r={pause:function e(){return t_video__doVimeoCommand(n,"pause")},play:function e(){return t_video__doVimeoCommand(n,"play")},mute:function e(){return console.warn(t+" Mute is not implemented")},unmute:function e(){return console.warn(t+" Unmute is not implemented")},videoEl:n,videoType:t};e.TildaVideoPlayer=r,o(r)}))}function t_video__initPlayer__kinescope(e){var t="kinescope";return new Promise((function(o,i){var n=e.querySelector("iframe");if(!n)return i(new Error(t+": IFrame Element not Found"));t_onFuncLoad("t_loadJsFile",(function(){t_loadJsFile("https://player.kinescope.io/latest/iframe.player.js")})),t_onFuncLoad("Kinescope",(function(){var i=n.id,r=n.src;Kinescope.IframePlayer.create(i,{url:r}).then((function(i){var r={pause:function e(){return i.pause()},play:function e(){return i.play()},mute:function e(){return console.warn(t+" Mute is not implemented")},unmute:function e(){return console.warn(t+" Unmute is not implemented")},player:i,videoEl:n,videoType:t};e.TildaVideoPlayer=r,o(r)}))}))}))}function t_video__initPlayer__vkvideo(e){var t="vkvideo";return new Promise((function(o,i){var n=e.querySelector("iframe");if(!n)return i(new Error(t+": IFrame Element not Found"));t_onFuncLoad("t_loadJsFile",(function(){t_loadJsFile("https://vk.com/js/api/videoplayer.js")})),t_onFuncLoad("VK",(function(){var i=VK.VideoPlayer(n),r={videoType:t,pause:function e(){return i.pause()},play:function e(){return i.play()},mute:function e(){return i.mute()},unmute:function e(){return i.unmute()},videoEl:n,player:i};return e.TildaVideoPlayer=r,o(r)}))}))}function t_video__initPlayer__rutube(e){var t="rutube";return new Promise((function(o,i){var n=e.querySelector("iframe");if(!n)return i(new Error(t+": IFrame Element not Found"));var r={videoType:t,pause:function e(){return t_video__doRutubeCommand(n,"pause")},play:function e(){return t_video__doRutubeCommand(n,"play")},mute:function e(){return console.warn(t+" Mute is not implemented")},unmute:function e(){return console.warn(t+" Unmute is not implemented")},videoEl:n};return e.TildaVideoPlayer=r,o(r)}))}function t_video__initPlayer__htmlVideo(e,t){return new Promise((function(o,i){var n=e.querySelector("video");if(!n)return i(new Error(t+": Video Element not Found"));var r={videoType:t,pause:function e(){return n.pause()},play:function e(){return n.play()},mute:function e(){return console.warn(t+" Mute is not implemented")},unmute:function e(){return console.warn(t+" Unmute is not implemented")},videoEl:n};return e.TildaVideoPlayer=r,o(r)}))}function t_video__initPlayer__boomstream(e){var t="boomstream";return new Promise((function(o,i){var n=e.querySelector("iframe");if(!n)return i(new Error(t+": IFrame Element not Found"));var r,a=/boomstream.com\/(?:balancer\/)?([A-Za-z0-9-]+)/,d=n.src.match(a);if(!d)return i(new Error(t+": VideoID not Found"));var l={pause:function e(){return t_video__doBoomstreamCommand(n,"pause",d[1])},play:function e(){return t_video__doBoomstreamCommand(n,"play",d[1])},mute:function e(){return console.warn(t+" Mute is not implemented")},unmute:function e(){return console.warn(t+" Unmute is not implemented")},videoEl:n,videoType:t};return e.TildaVideoPlayer=l,o(l)}))}function t_video_lazyload_init(){if("IntersectionObserver"in window){var e,t=300;/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)&&(t=150);var o=document.querySelectorAll(".t-video-lazyload:not(.t-video-no-lazyload)"),i=new IntersectionObserver((function(e,t){e.forEach((function(e){if(e.isIntersecting){var o=e.target;t.unobserve(o),t_video_lazyload__addVideo(o)}}))}),{rootMargin:t+"px 0px"});Array.prototype.forEach.call(o,(function(e){i.observe(e)}))}else t_video_lazyload__addVideoWithCheckViewport(),window.addEventListener("scroll",t_throttle((function(){t_video_lazyload__addVideoWithCheckViewport()}),300))}function t_video_lazyload__addVideoWithCheckViewport(){var e=document.documentElement.clientHeight,t=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),o=700,i;t&&(o=350),i=document.documentMode<9?Array.prototype.slice.call(document.querySelectorAll(".t-video-lazyload:not(.t-video-no-lazyload)")).filter((function(e){var t=e.closest(".r");return!t.classList.contains("t395__off")&&!t.classList.contains("t397__off")&&!t.classList.contains("t400__off")})):document.querySelectorAll(".r:not(.t395__off):not(.t397__off):not(.t400__off) .t-video-lazyload:not(.t-video-no-lazyload)"),Array.prototype.forEach.call(i,(function(t){var i=t.getBoundingClientRect(),n=i.top,r=i.bottom;(n>0&&n<e+o||r>0&&r<e+o)&&t_video_lazyload__addVideo(t)}))}function t_video_lazyload__addVideo(e){var t=window.matchMedia("(max-width: 640px)").matches,o=e.getAttribute("data-videolazy-load"),i=e.getAttribute("data-videolazy-type"),n=e.getAttribute("data-videolazy-id"),r=n?n.trim():"";"youtube"===i&&"string"==typeof r&&(r=(r=r.replace(/^v=/,"")).replace(/[&?]+$/,""));var a=e.getAttribute("data-videolazy-hash"),d=a?a.trim():"",l,u=e.getAttribute("data-blocklazy-id")||"",c="youtubeiframe",s="kinescopeiframe",_=e.getAttribute("data-videolazy-two-id");_&&(c+="_"+_+"_");var m=e.getAttribute("data-videolazy-nocontrols"),v=e.getAttribute("data-videolazy-play"),y=e.getAttribute("data-videolazy-mute"),f=e.getAttribute("data-videolazy-api"),p=e.getAttribute("data-videolazy-image"),w=e.getAttribute("data-videolazy-inline"),b="",h="100%",g=e.getAttribute("data-videolazy-height"),z=e.getAttribute("data-videolazy-mob-height");if(!t&&g&&-1===g.indexOf("vh")&&(h=g),t&&z&&-1===z.indexOf("vh")&&(h=z),"false"===o&&!e.classList.contains("t-video__isload"))if(e.setAttribute("data-videolazy-load","true"),"youtube"===i){var A="";-1!==r.indexOf("vd.tilda.cc")?A=r:(b+="rel=0&fmt=18&html5=1&showinfo=0",b+=v?"&autoplay=1":"",b+=y?"&mute=1":"",b+="yes"===m?"&controls=0":"",A="https://www.youtube.com/embed/"+(r=(r+=-1!==r.indexOf("?")?"&":"?").replace("https://www.youtube.com/shorts/",""))+(b+=f?"&enablejsapi=1":""));var P=c+u;e.insertAdjacentHTML("afterbegin",'<iframe id="'+P+'" width="100%" height="'+h+'" src="'+A+'" frameborder="0"'+(v?' allow="autoplay"':"")+" allowfullscreen></iframe>")}else if("vimeo"===i){var E=/(?:https?:\/\/)?(?:www\.)?(?:vimeo\.com\/|player\.vimeo\.com\/video\/|api\.vimeo\.com\/videos\/)?(\d+)/,V=r.match(E);r=V&&V[1]?V[1]:r,b=d?"&h="+d:"",b+=v?"&autoplay=1":"",b+=y?"&muted=1":"",b+=f?"&api=1":"",e.insertAdjacentHTML("afterbegin",'<iframe src="//player.vimeo.com/video/'+r+"?title=0&byline=0&portrait=0&badge=0&color=ffffff"+b+'" width="100%" height="'+h+'" frameborder="0"'+(v?' allow="autoplay"':"")+"webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>")}else if("kinescope"===i){b+=v?"&autoplay=1":"",b+=y?"&muted=1":"",-1===r.indexOf("?")&&(b=b.replace("&","?"));var P=s+u;e.insertAdjacentHTML("afterbegin",'<iframe id="'+P+'" src="https://kinescope.io/embed/'+r+b+'" width="100%" height="'+h+'" frameborder="0" scrolling="no" allow="fullscreen; picture-in-picture; encrypted-media;"></iframe>')}else if("rutube"===i)b+=d?"&p="+d:"",b+=v?"&autoplay=1":"",b=(b+=y?"&muted=1":"").replace("&","?"),e.insertAdjacentHTML("afterbegin",'<iframe src="https://rutube.ru/embed/'+r+b+'" width="100%" height="'+h+'" frameborder="0" scrolling="no" allow="clipboard-write; autoplay; fullscreen; picture-in-picture; encrypted-media;" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>');else if("vkvideo"===i){var M=/(?:video|video_ext\.php\?oid=|clip=?|)(-?\d+)_(\d+)|oid=(-?\d+)&id=(\d+)(?:.*?hash=([a-f0-9]+))?/,T=r.match(M),F="",L="";T&&(F=T[1]||T[3],L=T[2]||T[4],!d&&T[5]&&(d=T[5])),b+=v?"&autoplay=1":"",b+=y?"&muted=1":"",b+=d?"&hash="+d:"",b+=f?"&js_api=1":"",e.insertAdjacentHTML("afterbegin",'<iframe src="https://vk.com/video_ext.php?oid='+F+"&id="+L+"&hd=2"+b+'" width="100%" height="'+h+'" frameborder="0" scrolling="no" allow="autoplay; encrypted-media; fullscreen; picture-in-picture;"></iframe>')}else if("boomstream"===i)b+=v?"&autostart=1":"",b=(b+=y?"&volume=0":"").replace("&","?"),e.insertAdjacentHTML("afterbegin",'<iframe src="'+r+b+'" width="100%" height="'+h+'" frameborder="0" scrolling="no" allow="autoplay; encrypted-media; fullscreen; picture-in-picture;" allowfullscreen></iframe>');else if("mp4"===i){var k='\n\t\t\t\t<video\n\t\t\t\t\twidth="100%"\n\t\t\t\t\theight="'+h+'"\n\t\t\t\t\tcontrols\n\t\t\t\t\t'+(v?"autoplay":"")+"\n\t\t\t\t\t"+(y?"muted":"")+"\n\t\t\t\t\t"+(w?"playsinline":"")+"\n\t\t\t\t\t"+(p?'poster="'+p+'"':"")+'\n\t\t\t\t>\n\t\t\t\t\t<source src="'+r+'" type="video/mp4">\n\t\t\t\t\tYour browser does not support the video tag.\n\t\t\t\t</video>\n\t\t\t';e.insertAdjacentHTML("afterbegin",k)}else if("webm"===i){var S='\n\t\t\t\t<video\n\t\t\t\t\twidth="100%"\n\t\t\t\t\theight="'+h+'"\n\t\t\t\t\tcontrols\n\t\t\t\t\t'+(v?"autoplay":"")+"\n\t\t\t\t\t"+(y?"muted":"")+"\n\t\t\t\t\t"+(w?"playsinline":"")+"\n\t\t\t\t\t"+(p?'poster="'+p+'"':"")+'\n\t\t\t\t>\n\t\t\t\t\t<source src="'+r+'" type="video/webm">\n\t\t\t\t\tYour browser does not support the video tag.\n\t\t\t\t</video>\n\t\t\t';e.insertAdjacentHTML("afterbegin",S)}else"iframe"===i&&e.insertAdjacentHTML("afterbegin",'<iframe src="'+r+'" width="100%" height="'+h+'" frameborder="0" scrolling="no" allow="autoplay; encrypted-media; fullscreen; picture-in-picture;"></iframe>');if(e.closest(".t116")||"540px"!==g||t_video_lazyload__setHeight(e),g&&z&&(window.addEventListener("resize",(function(){t_video_lazyload__setMobileHeight(e)})),window.addEventListener("orientationchange",(function(){t_video_lazyload__setMobileHeight(e)}))),v&&"rutube"===i){var q=e.querySelector("iframe");if(!q)return;function H(e){if(e&&e.data&&"string"==typeof e.data){var t=JSON.parse(e.data);"player:ready"===t.type&&t.data&&t.data.videoId===r&&(window.removeEventListener("message",H),t_video__doRutubeCommand(q,"play"))}}t_video__doRutubeCommand(q,"changeState"),window.addEventListener("message",H)}}function t_video_lazyload__removeVideo(e){e.innerHTML="",e.setAttribute("data-videolazy-load","false")}function t_video_lazyload__setHeight(e){if(e){var t=e.getAttribute("data-videolazy-type"),o=e.querySelector("iframe");"mp4"!==t&&"webm"!==t||(o=e.querySelector("video"));var i=.5625*e.offsetWidth;e.style.height=i+"px",o&&(o.style.height=i+"px")}}function t_video_lazyload__setMobileHeight(e){var t=window.matchMedia("(max-width: 640px)").matches,o=e.getAttribute("data-videolazy-height"),i=e.getAttribute("data-videolazy-mob-height");if(e){var n=e.querySelector("iframe")||n.querySelector("video");if(n){var r=t?i:o;n.setAttribute("height",r)}}}function t_video__createPlayer(e,t){var o=t_video__getPlayer(e);if(o)return Promise.resolve(o);var i=e.querySelector(".t-video-lazyload");t_video_lazyload__overwriteParams(i,t);var n=i.getAttribute("data-videolazy-type");return t_video_lazyload__addVideo(i),t_videoPlayer__init(e,n)}function t_video_lazyload__overwriteParams(e,t){var o=t||{},i=o.videoId,n=o.videoHash,r=o.videoType,a=o.videoBlockId,d=o.controls,l=o.playsinline,u=o.autoplay,c=void 0!==u&&u,s=o.mute,_=void 0!==s&&s,m=o.jsApi,v=void 0===m||m;return r&&e.setAttribute("data-videolazy-type",r),i&&e.setAttribute("data-videolazy-id",i),n&&e.setAttribute("data-videolazy-hash",n),a&&e.setAttribute("data-blocklazy-id",a),c&&e.setAttribute("data-videolazy-play","true"),_&&e.setAttribute("data-videolazy-mute","true"),!0===d&&e.setAttribute("data-videolazy-nocontrols","false"),!1===d&&e.setAttribute("data-videolazy-nocontrols","yes"),v&&e.setAttribute("data-videolazy-api","true"),l&&e.setAttribute("data-videolazy-inline","true"),e}window.t_video__createPlayer=t_video__createPlayer,window.t_video_lazyload__removeVideo=t_video_lazyload__removeVideo,t_onReady((function(){t_onFuncLoad("t_video_lazyload_init",(function(){var e;document.querySelectorAll(".t-video-lazyload:not(.t-video-no-lazyload)").length&&t_video_lazyload_init()}))}));
|