|
@@ -1959,6 +1959,8 @@
|
|
|
updateSlideNumber();
|
|
|
updateSlidesVisibility();
|
|
|
|
|
|
+ formatEmbeddedContent();
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -2542,6 +2544,21 @@
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Enforces origin-specific format rules for embedded content.
|
|
|
+ */
|
|
|
+ function formatEmbeddedContent() {
|
|
|
+
|
|
|
+ // YouTube frames must include "?enablejsapi=1"
|
|
|
+ toArray( dom.slides.querySelectorAll( 'iframe[src*="youtube.com/embed/"]' ) ).forEach( function( el ) {
|
|
|
+ var src = el.getAttribute( 'src' );
|
|
|
+ if( !/enablejsapi\=1/gi.test( src ) ) {
|
|
|
+ el.setAttribute( 'src', src + ( !/\?/.test( src ) ? '?' : '' ) + 'enablejsapi=1' );
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* Start playback of any embedded content inside of
|
|
|
* the targeted slide.
|