Ver código fonte

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

Hakim El Hattab 11 anos atrás
pai
commit
ed4a8b51c5
2 arquivos alterados com 17 adições e 1 exclusões
  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":""}', '*');
+				}
+			});
 		}
 
 	}

Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 1
js/reveal.min.js


Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff