3.0.0-beta.20
This commit is contained in:
		| @ -56,7 +56,7 @@ const defaults = { | ||||
|     // Sprite (for icons) | ||||
|     loadSprite: true, | ||||
|     iconPrefix: 'plyr', | ||||
|     iconUrl: 'https://cdn.plyr.io/3.0.0-beta.19/plyr.svg', | ||||
|     iconUrl: 'https://cdn.plyr.io/3.0.0-beta.20/plyr.svg', | ||||
|  | ||||
|     // Blank video (used to prevent errors on source change) | ||||
|     blankVideo: 'https://cdn.plyr.io/static/blank.mp4', | ||||
|  | ||||
| @ -188,7 +188,7 @@ class Listeners { | ||||
|     } | ||||
|  | ||||
|     // Global window & document listeners | ||||
|     global(toggle) { | ||||
|     global(toggle = true) { | ||||
|         // Keyboard shortcuts | ||||
|         if (this.player.config.keyboard.global) { | ||||
|             utils.toggleListener(window, 'keydown keyup', this.handleKey, toggle, false); | ||||
| @ -585,6 +585,11 @@ class Listeners { | ||||
|             false, | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     // Reset on destroy | ||||
|     clear() { | ||||
|         this.global(false); | ||||
|     } | ||||
| } | ||||
|  | ||||
| export default Listeners; | ||||
|  | ||||
| @ -171,7 +171,7 @@ class Ads { | ||||
|      */ | ||||
|     pollCountdown(start = false) { | ||||
|         if (!start) { | ||||
|             window.clearInterval(this.countdownTimer); | ||||
|             clearInterval(this.countdownTimer); | ||||
|             this.elements.container.removeAttribute('data-badge-text'); | ||||
|             return; | ||||
|         } | ||||
| @ -182,7 +182,7 @@ class Ads { | ||||
|             this.elements.container.setAttribute('data-badge-text', label); | ||||
|         }; | ||||
|  | ||||
|         this.countdownTimer = window.setInterval(update, 100); | ||||
|         this.countdownTimer = setInterval(update, 100); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|  | ||||
| @ -305,10 +305,10 @@ const youtube = { | ||||
|                     utils.dispatchEvent.call(player, player.media, 'durationchange'); | ||||
|  | ||||
|                     // Reset timer | ||||
|                     window.clearInterval(player.timers.buffering); | ||||
|                     clearInterval(player.timers.buffering); | ||||
|  | ||||
|                     // Setup buffering | ||||
|                     player.timers.buffering = window.setInterval(() => { | ||||
|                     player.timers.buffering = setInterval(() => { | ||||
|                         // Get loaded % from YouTube | ||||
|                         player.media.buffered = instance.getVideoLoadedFraction(); | ||||
|  | ||||
| @ -322,7 +322,7 @@ const youtube = { | ||||
|  | ||||
|                         // Bail if we're at 100% | ||||
|                         if (player.media.buffered === 1) { | ||||
|                             window.clearInterval(player.timers.buffering); | ||||
|                             clearInterval(player.timers.buffering); | ||||
|  | ||||
|                             // Trigger event | ||||
|                             utils.dispatchEvent.call(player, player.media, 'canplaythrough'); | ||||
| @ -337,7 +337,7 @@ const youtube = { | ||||
|                     const instance = event.target; | ||||
|  | ||||
|                     // Reset timer | ||||
|                     window.clearInterval(player.timers.playing); | ||||
|                     clearInterval(player.timers.playing); | ||||
|  | ||||
|                     // Handle events | ||||
|                     // -1   Unstarted | ||||
| @ -377,7 +377,7 @@ const youtube = { | ||||
|                             utils.dispatchEvent.call(player, player.media, 'playing'); | ||||
|  | ||||
|                             // Poll to get playback progress | ||||
|                             player.timers.playing = window.setInterval(() => { | ||||
|                             player.timers.playing = setInterval(() => { | ||||
|                                 utils.dispatchEvent.call(player, player.media, 'timeupdate'); | ||||
|                             }, 50); | ||||
|  | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| // ========================================================================== | ||||
| // Plyr | ||||
| // plyr.js v3.0.0-beta.19 | ||||
| // plyr.js v3.0.0-beta.20 | ||||
| // https://github.com/sampotts/plyr | ||||
| // License: The MIT License (MIT) | ||||
| // ========================================================================== | ||||
| @ -276,7 +276,7 @@ class Plyr { | ||||
|         this.listeners.container(); | ||||
|  | ||||
|         // Global listeners | ||||
|         this.listeners.global(true); | ||||
|         this.listeners.global(); | ||||
|  | ||||
|         // Setup fullscreen | ||||
|         this.fullscreen = new Fullscreen(this); | ||||
| @ -951,7 +951,7 @@ class Plyr { | ||||
|         } | ||||
|  | ||||
|         // Clear timer on every call | ||||
|         window.clearTimeout(this.timers.controls); | ||||
|         clearTimeout(this.timers.controls); | ||||
|  | ||||
|         // If the mouse is not over the controls, set a timeout to hide them | ||||
|         if (show || this.paused || this.loading) { | ||||
| @ -1057,12 +1057,12 @@ class Plyr { | ||||
|                     callback(); | ||||
|                 } | ||||
|             } else { | ||||
|                 // Unbind listeners | ||||
|                 this.listeners.clear(); | ||||
|  | ||||
|                 // Replace the container with the original element provided | ||||
|                 utils.replaceElement(this.elements.original, this.elements.container); | ||||
|  | ||||
|                 // Unbind global listeners | ||||
|                 this.listeners.global(false); | ||||
|  | ||||
|                 // Event | ||||
|                 utils.dispatchEvent.call(this, this.elements.original, 'destroyed', true); | ||||
|  | ||||
| @ -1071,15 +1071,24 @@ class Plyr { | ||||
|                     callback.call(this.elements.original); | ||||
|                 } | ||||
|  | ||||
|                 // Clear for GC | ||||
|                 this.elements = null; | ||||
|                 // Clear for garbage collection | ||||
|                 setTimeout(() => { | ||||
|                     this.elements = null; | ||||
|                     this.media = null; | ||||
|                 }, 200); | ||||
|             } | ||||
|         }; | ||||
|  | ||||
|         // Stop playback | ||||
|         this.stop(); | ||||
|  | ||||
|         // Type specific stuff | ||||
|         switch (`${this.provider}:${this.type}`) { | ||||
|             case 'html5:video': | ||||
|             case 'html5:audio': | ||||
|                 // Clear timeout | ||||
|                 clearTimeout(this.timers.loading); | ||||
|  | ||||
|                 // Restore native video controls | ||||
|                 ui.toggleNativeControls.call(this, true); | ||||
|  | ||||
| @ -1090,8 +1099,8 @@ class Plyr { | ||||
|  | ||||
|             case 'youtube:video': | ||||
|                 // Clear timers | ||||
|                 window.clearInterval(this.timers.buffering); | ||||
|                 window.clearInterval(this.timers.playing); | ||||
|                 clearInterval(this.timers.buffering); | ||||
|                 clearInterval(this.timers.playing); | ||||
|  | ||||
|                 // Destroy YouTube API | ||||
|                 if (this.embed !== null) { | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| // ========================================================================== | ||||
| // Plyr Polyfilled Build | ||||
| // plyr.js v3.0.0-beta.19 | ||||
| // plyr.js v3.0.0-beta.20 | ||||
| // https://github.com/sampotts/plyr | ||||
| // License: The MIT License (MIT) | ||||
| // ========================================================================== | ||||
|  | ||||
		Reference in New Issue
	
	Block a user