rewrite youtube iframe embeds to force ?enablejsapi=1 (fixes #856)

This commit is contained in:
Hakim El Hattab 2014-06-12 18:15:32 +02:00
parent 06e76c1be3
commit af61d9d10b

View File

@ -1959,6 +1959,8 @@
updateSlideNumber(); updateSlideNumber();
updateSlidesVisibility(); 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 * Start playback of any embedded content inside of
* the targeted slide. * the targeted slide.