From b19dc7fc8020491c95f92bf22277746e28da2df9 Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Thu, 27 Apr 2017 16:36:16 +0200 Subject: [PATCH] don't autoplay background videos in overview mode --- js/reveal.js | 52 ++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/js/reveal.js b/js/reveal.js index e36cb728..f50994f8 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -3098,7 +3098,6 @@ // If the background contains media, load it if( background.hasAttribute( 'data-loaded' ) === false ) { - background.setAttribute( 'data-loaded', 'true' ); var backgroundImage = slide.getAttribute( 'data-background-image' ), backgroundVideo = slide.getAttribute( 'data-background-video' ), @@ -3108,31 +3107,43 @@ // Images if( backgroundImage ) { + background.style.backgroundImage = 'url('+ backgroundImage +')'; + background.setAttribute( 'data-loaded', 'true' ); + } // Videos else if ( backgroundVideo && !isSpeakerNotes() ) { - var video = document.createElement( 'video' ); - video.setAttribute( 'autoplay', '' ); - video.setAttribute( 'playsinline', '' ); - if( backgroundVideoLoop ) { - video.setAttribute( 'loop', '' ); + if( !isOverview() ) { + + var video = document.createElement( 'video' ); + video.setAttribute( 'autoplay', '' ); + video.setAttribute( 'playsinline', '' ); + + if( backgroundVideoLoop ) { + video.setAttribute( 'loop', '' ); + } + + if( backgroundVideoMuted ) { + video.muted = true; + } + + // Support comma separated lists of video sources + backgroundVideo.split( ',' ).forEach( function( source ) { + video.innerHTML += ''; + } ); + + background.appendChild( video ); + + background.setAttribute( 'data-loaded', 'true' ); + } - if( backgroundVideoMuted ) { - video.muted = true; - } - - // Support comma separated lists of video sources - backgroundVideo.split( ',' ).forEach( function( source ) { - video.innerHTML += ''; - } ); - - background.appendChild( video ); } // Iframes else if( backgroundIframe ) { + var iframe = document.createElement( 'iframe' ); iframe.setAttribute( 'allowfullscreen', '' ); iframe.setAttribute( 'mozallowfullscreen', '' ); @@ -3153,7 +3164,16 @@ iframe.style.maxWidth = '100%'; background.appendChild( iframe ); + + background.setAttribute( 'data-loaded', 'true' ); + } + else { + + background.setAttribute( 'data-loaded', 'true' ); + + } + } }