gifs now restart when their slide container is shown
This commit is contained in:
		
							
								
								
									
										16
									
								
								js/reveal.js
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								js/reveal.js
									
									
									
									
									
								
							| @@ -2580,6 +2580,15 @@ | ||||
| 				currentVideo.play(); | ||||
| 			} | ||||
|  | ||||
| 			var backgroundImageURL = currentBackground.style.backgroundImage || ''; | ||||
|  | ||||
| 			// Restart GIFs (doesn't work in Firefox) | ||||
| 			if( /\.gif/i.test( backgroundImageURL ) ) { | ||||
| 				currentBackground.style.backgroundImage = ''; | ||||
| 				window.getComputedStyle( currentBackground ).opacity; | ||||
| 				currentBackground.style.backgroundImage = backgroundImageURL; | ||||
| 			} | ||||
|  | ||||
| 			// Don't transition between identical backgrounds. This | ||||
| 			// prevents unwanted flicker. | ||||
| 			var previousBackgroundHash = previousBackground ? previousBackground.getAttribute( 'data-background-hash' ) : null; | ||||
| @@ -2826,6 +2835,13 @@ | ||||
| 	function startEmbeddedContent( slide ) { | ||||
|  | ||||
| 		if( slide && !isSpeakerNotes() ) { | ||||
| 			// Restart GIFs | ||||
| 			toArray( slide.querySelectorAll( 'img[src$=".gif"]' ) ).forEach( function( el ) { | ||||
| 				// Setting the same unchanged source like this was confirmed | ||||
| 				// to work in Chrome, FF & Safari | ||||
| 				el.setAttribute( 'src', el.getAttribute( 'src' ) ); | ||||
| 			} ); | ||||
|  | ||||
| 			// HTML5 media elements | ||||
| 			toArray( slide.querySelectorAll( 'video, audio' ) ).forEach( function( el ) { | ||||
| 				if( el.hasAttribute( 'data-autoplay' ) ) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user