lazy loading fallback also considers iframes
This commit is contained in:
		
							
								
								
									
										20
									
								
								js/reveal.js
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								js/reveal.js
									
									
									
									
									
								
							| @@ -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' ); | ||||
| 				} | ||||
| 			} | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user