Parcourir la source

auto play/pause youtube video when entering/leaving slide (#388)

Hakim El Hattab il y a 11 ans
Parent
commit
ed4a8b51c5
2 fichiers modifiés avec 17 ajouts et 1 suppressions
  1. 16 0
      js/reveal.js
  2. 1 1
      js/reveal.min.js

+ 16 - 0
js/reveal.js

@@ -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":""}', '*');
+				}
+			});
 		}
 
 	}

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 1
js/reveal.min.js


Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff