lazy loading fallback also considers iframes

This commit is contained in:
Hakim El Hattab 2015-05-04 20:22:32 -04:00
parent 80e52c08e9
commit 152271efb2
1 changed files with 12 additions and 8 deletions

View File

@ -238,14 +238,18 @@
if( !features.transforms2d && !features.transforms3d ) {
document.body.setAttribute( 'class', 'no-transforms' );
// Since JS won't be running any further, we need to load all
// images that were intended to lazy load now
var images = document.getElementsByTagName( 'img' );
for( var i = 0, len = images.length; i < len; i++ ) {
var image = images[i];
if( image.getAttribute( 'data-src' ) ) {
image.setAttribute( 'src', image.getAttribute( 'data-src' ) );
image.removeAttribute( 'data-src' );
// Since JS won't be running any further, we load all lazy
// loading elements upfront
var images = toArray( document.getElementsByTagName( 'img' ) ),
iframes = toArray( document.getElementsByTagName( 'iframe' ) );
var lazyLoadable = images.concat( iframes );
for( var i = 0, len = lazyLoadable.length; i < len; i++ ) {
var element = lazyLoadable[i];
if( element.getAttribute( 'data-src' ) ) {
element.setAttribute( 'src', element.getAttribute( 'data-src' ) );
element.removeAttribute( 'data-src' );
}
}