diff options
author | Hakim El Hattab <hakim.elhattab@gmail.com> | 2014-04-22 16:10:08 +0200 |
---|---|---|
committer | Hakim El Hattab <hakim.elhattab@gmail.com> | 2014-04-22 16:10:08 +0200 |
commit | 73f96f1d284bca6e01c36c888c2620b376c06598 (patch) | |
tree | 3a9170f600f00505d69b61407c228bdfc8dc7dd2 | |
parent | 3ad0d6adc026c620af1b2eaadabd2ce2c338e2f1 (diff) | |
download | fosdem-2018-presentation-73f96f1d284bca6e01c36c888c2620b376c06598.tar fosdem-2018-presentation-73f96f1d284bca6e01c36c888c2620b376c06598.tar.gz |
lazy-load support for audio #793
-rw-r--r-- | js/reveal.js | 14 | ||||
-rw-r--r-- | test/test.html | 4 | ||||
-rw-r--r-- | test/test.js | 2 |
3 files changed, 7 insertions, 13 deletions
diff --git a/js/reveal.js b/js/reveal.js index e910682..42edf90 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -2173,25 +2173,25 @@ var Reveal = (function(){ function loadSlide( slide ) { // Media elements with data-src attributes - toArray( slide.querySelectorAll( 'img[data-src], video[data-src]' ) ).forEach( function( element ) { + toArray( slide.querySelectorAll( 'img[data-src], video[data-src], audio[data-src]' ) ).forEach( function( element ) { element.setAttribute( 'src', element.getAttribute( 'data-src' ) ); element.removeAttribute( 'data-src' ); } ); - // Video elements with multiple <source>s - toArray( slide.querySelectorAll( 'video' ) ).forEach( function( video ) { + // Media elements with multiple <source>s + toArray( slide.querySelectorAll( 'video, audio' ) ).forEach( function( media ) { var sources = 0; - toArray( slide.querySelectorAll( 'source[data-src]' ) ).forEach( function( source ) { + toArray( media.querySelectorAll( 'source[data-src]' ) ).forEach( function( source ) { source.setAttribute( 'src', source.getAttribute( 'data-src' ) ); source.removeAttribute( 'data-src' ); sources += 1; } ); - // If we rewrote sources for this video, we need to manually - // tell it to load from its new origin + // If we rewrote sources for this video/audio element, we need + // to manually tell it to load from its new origin if( sources > 0 ) { - video.load(); + media.load(); } } ); diff --git a/test/test.html b/test/test.html index 31c31dd..edb1623 100644 --- a/test/test.html +++ b/test/test.html @@ -22,10 +22,6 @@ <section> <h1>1</h1> <img data-src="fake-url.png"> - <video> - <source data-src="fake-url.mp4" /> - <source data-src="fake-url.webm" /> - </video> </section> <section> diff --git a/test/test.js b/test/test.js index 367373e..93a3d61 100644 --- a/test/test.js +++ b/test/test.js @@ -456,8 +456,6 @@ Reveal.addEventListener( 'ready', function() { test( 'img with data-src', function() { strictEqual( document.querySelectorAll( '.reveal section img[src]' ).length, 1, 'Image source has been set' ); - - strictEqual( document.querySelectorAll( '.reveal section video source[src]' ).length, 2, 'Video sources have been set' ); }); |