diff options
Diffstat (limited to 'dist/plyr.polyfilled.js')
-rw-r--r-- | dist/plyr.polyfilled.js | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/dist/plyr.polyfilled.js b/dist/plyr.polyfilled.js index b19b3f4e..bb061bed 100644 --- a/dist/plyr.polyfilled.js +++ b/dist/plyr.polyfilled.js @@ -1,7 +1,7 @@ typeof navigator === "object" && (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define('Plyr', factory) : - (global = global || self, global.Plyr = factory()); + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Plyr = factory()); }(this, (function () { 'use strict'; // Polyfill for creating CustomEvents on IE9/10/11 @@ -4408,7 +4408,7 @@ typeof navigator === "object" && (function (global, factory) { var checkIfURLSearchParamsSupported = function checkIfURLSearchParamsSupported() { try { var URLSearchParams = global.URLSearchParams; - return new URLSearchParams('?a=1').toString() === 'a=1' && typeof URLSearchParams.prototype.set === 'function'; + return new URLSearchParams('?a=1').toString() === 'a=1' && typeof URLSearchParams.prototype.set === 'function' && typeof URLSearchParams.prototype.entries === 'function'; } catch (e) { return false; } @@ -4532,7 +4532,11 @@ typeof navigator === "object" && (function (global, factory) { anchorElement.href = anchorElement.href; // force href to refresh } - if (anchorElement.protocol === ':' || !/:/.test(anchorElement.href)) { + var inputElement = doc.createElement('input'); + inputElement.type = 'url'; + inputElement.value = url; + + if (anchorElement.protocol === ':' || !/:/.test(anchorElement.href) || !inputElement.checkValidity() && !base) { throw new TypeError('Invalid URL'); } @@ -7433,7 +7437,12 @@ typeof navigator === "object" && (function (global, factory) { if (this.isVimeo && !this.config.vimeo.premium && this.supported.ui) { var height = 100 / this.media.offsetWidth * parseInt(window.getComputedStyle(this.media).paddingBottom, 10); var offset = (height - padding) / (height / 50); - this.media.style.transform = "translateY(-".concat(offset, "%)"); + + if (this.fullscreen.active) { + wrapper.style.paddingBottom = null; + } else { + this.media.style.transform = "translateY(-".concat(offset, "%)"); + } } else if (this.isHTML5) { wrapper.classList.toggle(this.config.classNames.videoFixedRatio, ratio !== null); } @@ -10422,10 +10431,12 @@ typeof navigator === "object" && (function (global, factory) { if (is$1.element(button)) { button.pressed = this.active; - } // Trigger an event + } // Always trigger events on the plyr / media element (not a fullscreen container) and let them bubble up - triggerEvent.call(this.player, this.target, this.active ? 'enterfullscreen' : 'exitfullscreen', true); + var target = this.target === this.player.media ? this.target : this.player.elements.container; // Trigger an event + + triggerEvent.call(this.player, target, this.active ? 'enterfullscreen' : 'exitfullscreen', true); } }, { key: "toggleFallback", @@ -10904,7 +10915,7 @@ typeof navigator === "object" && (function (global, factory) { // Loop through values (as they are the keys when the object is spread 🤔) Object.values(_objectSpread2({}, this.media.style)) // We're only fussed about Plyr specific properties .filter(function (key) { - return !is$1.empty(key) && key.startsWith('--plyr'); + return !is$1.empty(key) && is$1.string(key) && key.startsWith('--plyr'); }).forEach(function (key) { // Set on the container _this5.elements.container.style.setProperty(key, _this5.media.style.getPropertyValue(key)); // Clean up from media element @@ -14726,9 +14737,9 @@ typeof navigator === "object" && (function (global, factory) { if (this.isHTML5 && this.config.autoplay) { - setTimeout(function () { + this.once('canplay', function () { return silencePromise(_this.play()); - }, 10); + }); } // Seek time will be recorded (in listeners.js) so we can prevent hiding controls for a few seconds after seek @@ -15017,7 +15028,9 @@ typeof navigator === "object" && (function (global, factory) { } } else { // Unbind listeners - unbindListeners.call(_this3); // Replace the container with the original element provided + unbindListeners.call(_this3); // Cancel current network requests + + html5.cancelRequests.call(_this3); // Replace the container with the original element provided replaceElement(_this3.elements.original, _this3.elements.container); // Event |