vimeo support for autoplay/pause
This commit is contained in:
		
							
								
								
									
										25
									
								
								js/reveal.js
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								js/reveal.js
									
									
									
									
									
								
							| @@ -2545,7 +2545,7 @@ | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	/** | 	/** | ||||||
| 	 * Enforces origin-specific format rules for embedded content. | 	 * Enforces origin-specific format rules for embedded media. | ||||||
| 	 */ | 	 */ | ||||||
| 	function formatEmbeddedContent() { | 	function formatEmbeddedContent() { | ||||||
|  |  | ||||||
| @@ -2557,6 +2557,14 @@ | |||||||
| 			} | 			} | ||||||
| 		}); | 		}); | ||||||
|  |  | ||||||
|  | 		// Vimeo frames must include "?api=1" | ||||||
|  | 		toArray( dom.slides.querySelectorAll( 'iframe[src*="player.vimeo.com/"]' ) ).forEach( function( el ) { | ||||||
|  | 			var src = el.getAttribute( 'src' ); | ||||||
|  | 			if( !/api\=1/gi.test( src ) ) { | ||||||
|  | 				el.setAttribute( 'src', src + ( !/\?/.test( src ) ? '?' : '' ) + 'api=1' ); | ||||||
|  | 			} | ||||||
|  | 		}); | ||||||
|  |  | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	/** | 	/** | ||||||
| @@ -2584,6 +2592,14 @@ | |||||||
| 					el.contentWindow.postMessage( '{"event":"command","func":"playVideo","args":""}', '*' ); | 					el.contentWindow.postMessage( '{"event":"command","func":"playVideo","args":""}', '*' ); | ||||||
| 				} | 				} | ||||||
| 			}); | 			}); | ||||||
|  |  | ||||||
|  | 			// Vimeo embeds | ||||||
|  | 			toArray( slide.querySelectorAll( 'iframe[src*="player.vimeo.com/"]' ) ).forEach( function( el ) { | ||||||
|  | 				if( el.hasAttribute( 'data-autoplay' ) ) { | ||||||
|  | 					console.log(11); | ||||||
|  | 					el.contentWindow.postMessage( '{"method":"play"}', '*' ); | ||||||
|  | 				} | ||||||
|  | 			}); | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 	} | 	} | ||||||
| @@ -2613,6 +2629,13 @@ | |||||||
| 					el.contentWindow.postMessage( '{"event":"command","func":"pauseVideo","args":""}', '*' ); | 					el.contentWindow.postMessage( '{"event":"command","func":"pauseVideo","args":""}', '*' ); | ||||||
| 				} | 				} | ||||||
| 			}); | 			}); | ||||||
|  |  | ||||||
|  | 			// Vimeo embeds | ||||||
|  | 			toArray( slide.querySelectorAll( 'iframe[src*="player.vimeo.com/"]' ) ).forEach( function( el ) { | ||||||
|  | 				if( !el.hasAttribute( 'data-ignore' ) && typeof el.contentWindow.postMessage === 'function' ) { | ||||||
|  | 					el.contentWindow.postMessage( '{"method":"pause"}', '*' ); | ||||||
|  | 				} | ||||||
|  | 			}); | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 	} | 	} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user