aboutsummaryrefslogtreecommitdiffstats
path: root/dist/plyr.js
diff options
context:
space:
mode:
Diffstat (limited to 'dist/plyr.js')
-rw-r--r--dist/plyr.js32
1 files changed, 18 insertions, 14 deletions
diff --git a/dist/plyr.js b/dist/plyr.js
index 9eca0980..0c5dde21 100644
--- a/dist/plyr.js
+++ b/dist/plyr.js
@@ -637,26 +637,25 @@ var utils = {
return;
}
- var prefix = 'cache-';
+ var prefix = 'cache';
var hasId = utils.is.string(id);
var isCached = false;
var exists = function exists() {
- return document.querySelectorAll('#' + id).length;
+ return document.getElementById(id) !== null;
};
- function injectSprite(data) {
+ var update = function update(container, data) {
+ container.innerHTML = data;
+
// Check again incase of race condition
if (hasId && exists()) {
return;
}
- // Inject content
- this.innerHTML = data;
-
// Inject the SVG to the body
- document.body.insertBefore(this, document.body.childNodes[0]);
- }
+ document.body.insertAdjacentElement('afterbegin', container);
+ };
// Only load once if ID set
if (!hasId || !exists()) {
@@ -672,13 +671,12 @@ var utils = {
// Check in cache
if (useStorage) {
- var cached = window.localStorage.getItem(prefix + id);
+ var cached = window.localStorage.getItem(prefix + '-' + id);
isCached = cached !== null;
if (isCached) {
var data = JSON.parse(cached);
- injectSprite.call(container, data.content);
- return;
+ update(container, data.content);
}
}
@@ -689,12 +687,12 @@ var utils = {
}
if (useStorage) {
- window.localStorage.setItem(prefix + id, JSON.stringify({
+ window.localStorage.setItem(prefix + '-' + id, JSON.stringify({
content: result
}));
}
- injectSprite.call(container, result);
+ update(container, result);
}).catch(function () {});
}
},
@@ -4426,7 +4424,7 @@ var Listeners = function () {
// and if the focused element is not editable (e.g. text input)
// and any that accept key input http://webaim.org/techniques/keyboard/
var focused = utils.getFocusElement();
- if (utils.is.element(focused) && utils.matches(focused, this.player.config.selectors.editable)) {
+ if (utils.is.element(focused) && focused !== this.player.elements.inputs.seek && utils.matches(focused, this.player.config.selectors.editable)) {
return;
}
@@ -4920,6 +4918,12 @@ var Listeners = function () {
on(this.player.elements.inputs.seek, 'mousedown mouseup keydown keyup touchstart touchend', function (event) {
var seek = event.currentTarget;
+ var code = event.keyCode ? event.keyCode : event.which;
+ var eventType = event.type;
+
+ if ((eventType === 'keydown' || eventType === 'keyup') && code !== 39 && code !== 37) {
+ return;
+ }
// Was playing before?
var play = seek.hasAttribute('play-on-seeked');