auto play/pause youtube video when entering/leaving slide (#388)
This commit is contained in:
1 parent
32736a791c
commit
ed4a8b51c5
2 files changed
+18
-2
No files matched your search
@@ -1430,11 +1430,19 @@ var Reveal = (function(){
|
||||
function startEmbeddedContent( slide ) {
|
||||
|
||||
if( slide ) {
|
||||
// HTML5 media elements
|
||||
toArray( slide.querySelectorAll( 'video, audio' ) ).forEach( function( el ) {
|
||||
if( !el.hasAttribute( 'data-ignore' ) ) {
|
||||
el.play();
|
||||
}
|
||||
} );
|
||||
|
||||
// YouTube embeds
|
||||
toArray( slide.querySelectorAll( 'iframe[src*="youtube.com/embed/"]' ) ).forEach( function( el ) {
|
||||
if( !el.hasAttribute( 'data-ignore' ) ) {
|
||||
el.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1446,11 +1454,19 @@ var Reveal = (function(){
|
||||
function stopEmbeddedContent( slide ) {
|
||||
|
||||
if( slide ) {
|
||||
// HTML5 media elements
|
||||
toArray( slide.querySelectorAll( 'video, audio' ) ).forEach( function( el ) {
|
||||
if( !el.hasAttribute( 'data-ignore' ) ) {
|
||||
el.pause();
|
||||
}
|
||||
} );
|
||||
|
||||
// YouTube embeds
|
||||
toArray( slide.querySelectorAll( 'iframe[src*="youtube.com/embed/"]' ) ).forEach( function( el ) {
|
||||
if( !el.hasAttribute( 'data-ignore' ) && typeof el.contentWindow.postMessage === 'function' ) {
|
||||
el.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -1,8 +1,8 @@
|
||||
/*!
|
||||
* reveal.js 2.4.0 (2013-04-27, 18:27)
|
||||
* reveal.js 2.4.0 (2013-04-27, 18:31)
|
||||
* http://lab.hakim.se/reveal-js
|
||||
* MIT licensed
|
||||
*
|
||||
* Copyright (C) 2013 Hakim El Hattab, http://hakim.se
|
||||
*/
|
||||
var Reveal=function(){"use strict";function e(e){return kt||Tt?(window.addEventListener("load",h,!1),c(wt,e),n(),r(),void 0):(document.body.setAttribute("class","no-transforms"),void 0)}function t(){if(xt.theme=document.querySelector("#theme"),xt.wrapper=document.querySelector(".reveal"),xt.slides=document.querySelector(".reveal .slides"),!xt.wrapper.querySelector(".progress")){var e=document.createElement("div");e.classList.add("progress"),e.innerHTML="<span></span>",xt.wrapper.appendChild(e)}if(!xt.wrapper.querySelector(".controls")){var t=document.createElement("aside");t.classList.add("controls"),t.innerHTML='<div class="navigate-left"></div><div class="navigate-right"></div><div class="navigate-up"></div><div class="navigate-down"></div>',xt.wrapper.appendChild(t)}if(!xt.wrapper.querySelector(".state-background")){var n=document.createElement("div");n.classList.add("state-background"),xt.wrapper.appendChild(n)}if(!xt.wrapper.querySelector(".pause-overlay")){var r=document.createElement("div");r.classList.add("pause-overlay"),xt.wrapper.appendChild(r)}xt.progress=document.querySelector(".reveal .progress"),xt.progressbar=document.querySelector(".reveal .progress span"),wt.controls&&(xt.controls=document.querySelector(".reveal .controls"),xt.controlsLeft=l(document.querySelectorAll(".navigate-left")),xt.controlsRight=l(document.querySelectorAll(".navigate-right")),xt.controlsUp=l(document.querySelectorAll(".navigate-up")),xt.controlsDown=l(document.querySelectorAll(".navigate-down")),xt.controlsPrev=l(document.querySelectorAll(".navigate-prev")),xt.controlsNext=l(document.querySelectorAll(".navigate-next")))}function n(){/iphone|ipod|android/gi.test(navigator.userAgent)&&!/crios/gi.test(navigator.userAgent)&&(window.addEventListener("load",u,!1),window.addEventListener("orientationchange",u,!1))}function r(){function e(){n.length&&head.js.apply(null,n),o()}for(var t=[],n=[],r=0,a=wt.dependencies.length;a>r;r++){var s=wt.dependencies[r];(!s.condition||s.condition())&&(s.async?n.push(s.src):t.push(s.src),"function"==typeof s.callback&&head.ready(s.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],s.callback))}t.length?(head.ready(e),head.js.apply(null,t)):e()}function o(){t(),a(),X(),setTimeout(function(){v("ready",{indexh:Et,indexv:St,currentSlide:mt})},1)}function a(e){if(xt.wrapper.classList.remove(wt.transition),"object"==typeof e&&c(wt,e),Tt===!1&&(wt.transition="linear"),xt.wrapper.classList.add(wt.transition),xt.wrapper.setAttribute("data-transition-speed",wt.transitionSpeed),xt.controls&&(xt.controls.style.display=wt.controls&&xt.controls?"block":"none"),xt.progress&&(xt.progress.style.display=wt.progress&&xt.progress?"block":"none"),wt.rtl?xt.wrapper.classList.add("rtl"):xt.wrapper.classList.remove("rtl"),wt.center?xt.wrapper.classList.add("center"):xt.wrapper.classList.remove("center"),wt.mouseWheel?(document.addEventListener("DOMMouseScroll",rt,!1),document.addEventListener("mousewheel",rt,!1)):(document.removeEventListener("DOMMouseScroll",rt,!1),document.removeEventListener("mousewheel",rt,!1)),wt.rollingLinks?f():p(),wt.theme&&xt.theme){var t=xt.theme.getAttribute("href"),n=/[^\/]*?(?=\.css)/,r=t.match(n)[0];wt.theme!==r&&(t=t.replace(n,wt.theme),xt.theme.setAttribute("href",t))}M()}function s(){Ot=!0,window.addEventListener("hashchange",ut,!1),window.addEventListener("resize",vt,!1),wt.touch&&(xt.wrapper.addEventListener("touchstart",B,!1),xt.wrapper.addEventListener("touchmove",G,!1),xt.wrapper.addEventListener("touchend",J,!1),window.navigator.msPointerEnabled&&(xt.wrapper.addEventListener("MSPointerDown",et,!1),xt.wrapper.addEventListener("MSPointerMove",tt,!1),xt.wrapper.addEventListener("MSPointerUp",nt,!1))),wt.keyboard&&document.addEventListener("keydown",V,!1),wt.progress&&xt.progress&&xt.progress.addEventListener("click",ot,!1),wt.controls&&xt.controls&&["touchstart","click"].forEach(function(e){xt.controlsLeft.forEach(function(t){t.addEventListener(e,at,!1)}),xt.controlsRight.forEach(function(t){t.addEventListener(e,st,!1)}),xt.controlsUp.forEach(function(t){t.addEventListener(e,it,!1)}),xt.controlsDown.forEach(function(t){t.addEventListener(e,ct,!1)}),xt.controlsPrev.forEach(function(t){t.addEventListener(e,lt,!1)}),xt.controlsNext.forEach(function(t){t.addEventListener(e,dt,!1)})})}function i(){Ot=!1,document.removeEventListener("keydown",V,!1),window.removeEventListener("hashchange",ut,!1),window.removeEventListener("resize",vt,!1),xt.wrapper.removeEventListener("touchstart",B,!1),xt.wrapper.removeEventListener("touchmove",G,!1),xt.wrapper.removeEventListener("touchend",J,!1),window.navigator.msPointerEnabled&&(xt.wrapper.removeEventListener("MSPointerDown",et,!1),xt.wrapper.removeEventListener("MSPointerMove",tt,!1),xt.wrapper.removeEventListener("MSPointerUp",nt,!1)),wt.progress&&xt.progress&&xt.progress.removeEventListener("click",ot,!1),wt.controls&&xt.controls&&["touchstart","click"].forEach(function(e){xt.controlsLeft.forEach(function(t){t.removeEventListener(e,at,!1)}),xt.coLine truncated
|
||||
var Reveal=function(){"use strict";function e(e){return kt||Tt?(window.addEventListener("load",h,!1),c(Lt,e),n(),r(),void 0):(document.body.setAttribute("class","no-transforms"),void 0)}function t(){if(xt.theme=document.querySelector("#theme"),xt.wrapper=document.querySelector(".reveal"),xt.slides=document.querySelector(".reveal .slides"),!xt.wrapper.querySelector(".progress")){var e=document.createElement("div");e.classList.add("progress"),e.innerHTML="<span></span>",xt.wrapper.appendChild(e)}if(!xt.wrapper.querySelector(".controls")){var t=document.createElement("aside");t.classList.add("controls"),t.innerHTML='<div class="navigate-left"></div><div class="navigate-right"></div><div class="navigate-up"></div><div class="navigate-down"></div>',xt.wrapper.appendChild(t)}if(!xt.wrapper.querySelector(".state-background")){var n=document.createElement("div");n.classList.add("state-background"),xt.wrapper.appendChild(n)}if(!xt.wrapper.querySelector(".pause-overlay")){var r=document.createElement("div");r.classList.add("pause-overlay"),xt.wrapper.appendChild(r)}xt.progress=document.querySelector(".reveal .progress"),xt.progressbar=document.querySelector(".reveal .progress span"),Lt.controls&&(xt.controls=document.querySelector(".reveal .controls"),xt.controlsLeft=l(document.querySelectorAll(".navigate-left")),xt.controlsRight=l(document.querySelectorAll(".navigate-right")),xt.controlsUp=l(document.querySelectorAll(".navigate-up")),xt.controlsDown=l(document.querySelectorAll(".navigate-down")),xt.controlsPrev=l(document.querySelectorAll(".navigate-prev")),xt.controlsNext=l(document.querySelectorAll(".navigate-next")))}function n(){/iphone|ipod|android/gi.test(navigator.userAgent)&&!/crios/gi.test(navigator.userAgent)&&(window.addEventListener("load",u,!1),window.addEventListener("orientationchange",u,!1))}function r(){function e(){n.length&&head.js.apply(null,n),o()}for(var t=[],n=[],r=0,a=Lt.dependencies.length;a>r;r++){var s=Lt.dependencies[r];(!s.condition||s.condition())&&(s.async?n.push(s.src):t.push(s.src),"function"==typeof s.callback&&head.ready(s.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],s.callback))}t.length?(head.ready(e),head.js.apply(null,t)):e()}function o(){t(),a(),X(),setTimeout(function(){f("ready",{indexh:Et,indexv:St,currentSlide:mt})},1)}function a(e){if(xt.wrapper.classList.remove(Lt.transition),"object"==typeof e&&c(Lt,e),Tt===!1&&(Lt.transition="linear"),xt.wrapper.classList.add(Lt.transition),xt.wrapper.setAttribute("data-transition-speed",Lt.transitionSpeed),xt.controls&&(xt.controls.style.display=Lt.controls&&xt.controls?"block":"none"),xt.progress&&(xt.progress.style.display=Lt.progress&&xt.progress?"block":"none"),Lt.rtl?xt.wrapper.classList.add("rtl"):xt.wrapper.classList.remove("rtl"),Lt.center?xt.wrapper.classList.add("center"):xt.wrapper.classList.remove("center"),Lt.mouseWheel?(document.addEventListener("DOMMouseScroll",rt,!1),document.addEventListener("mousewheel",rt,!1)):(document.removeEventListener("DOMMouseScroll",rt,!1),document.removeEventListener("mousewheel",rt,!1)),Lt.rollingLinks?v():p(),Lt.theme&&xt.theme){var t=xt.theme.getAttribute("href"),n=/[^\/]*?(?=\.css)/,r=t.match(n)[0];Lt.theme!==r&&(t=t.replace(n,Lt.theme),xt.theme.setAttribute("href",t))}M()}function s(){Ot=!0,window.addEventListener("hashchange",ut,!1),window.addEventListener("resize",ft,!1),Lt.touch&&(xt.wrapper.addEventListener("touchstart",B,!1),xt.wrapper.addEventListener("touchmove",G,!1),xt.wrapper.addEventListener("touchend",J,!1),window.navigator.msPointerEnabled&&(xt.wrapper.addEventListener("MSPointerDown",et,!1),xt.wrapper.addEventListener("MSPointerMove",tt,!1),xt.wrapper.addEventListener("MSPointerUp",nt,!1))),Lt.keyboard&&document.addEventListener("keydown",Q,!1),Lt.progress&&xt.progress&&xt.progress.addEventListener("click",ot,!1),Lt.controls&&xt.controls&&["touchstart","click"].forEach(function(e){xt.controlsLeft.forEach(function(t){t.addEventListener(e,at,!1)}),xt.controlsRight.forEach(function(t){t.addEventListener(e,st,!1)}),xt.controlsUp.forEach(function(t){t.addEventListener(e,it,!1)}),xt.controlsDown.forEach(function(t){t.addEventListener(e,ct,!1)}),xt.controlsPrev.forEach(function(t){t.addEventListener(e,lt,!1)}),xt.controlsNext.forEach(function(t){t.addEventListener(e,dt,!1)})})}function i(){Ot=!1,document.removeEventListener("keydown",Q,!1),window.removeEventListener("hashchange",ut,!1),window.removeEventListener("resize",ft,!1),xt.wrapper.removeEventListener("touchstart",B,!1),xt.wrapper.removeEventListener("touchmove",G,!1),xt.wrapper.removeEventListener("touchend",J,!1),window.navigator.msPointerEnabled&&(xt.wrapper.removeEventListener("MSPointerDown",et,!1),xt.wrapper.removeEventListener("MSPointerMove",tt,!1),xt.wrapper.removeEventListener("MSPointerUp",nt,!1)),Lt.progress&&xt.progress&&xt.progress.removeEventListener("click",ot,!1),Lt.controls&&xt.controls&&["touchstart","click"].forEach(function(e){xt.controlsLeft.forEach(function(t){t.removeEventListener(e,at,!1)}),xt.coLine truncated
|
||||
Reference in new issue
Block a user