aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/js/plyr.js14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/js/plyr.js b/src/js/plyr.js
index f54db4e0..9b724e14 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -1181,7 +1181,7 @@
// Only load external sprite using AJAX
if (iconUrl.external) {
_log('Loading external SVG sprite');
- loadSprite(iconUrl.url);
+ loadSprite(iconUrl.url, "sprite-plyr");
}
else {
_log('Sprite will be used inline');
@@ -3214,9 +3214,14 @@
}
// Load a sprite
- function loadSprite(url) {
+ function loadSprite(url, id) {
var x = new XMLHttpRequest();
+ // If the id is set and sprite exists, bail
+ if (typeof id === 'string' && document.querySelector('#' + id) !== null) {
+ return;
+ }
+
// Check for CORS support
if ('withCredentials' in x) {
x.open('GET', url, true);
@@ -3229,6 +3234,9 @@
x.onload = function() {
var c = document.createElement('div');
c.setAttribute('hidden', '');
+ if (typeof id === 'string') {
+ c.setAttribute('id', id);
+ }
c.innerHTML = x.responseText;
document.body.insertBefore(c, document.body.childNodes[0]);
}
@@ -3317,7 +3325,7 @@
// Bail if not enabled
if (!config.enabled) {
- return;
+ return null;
}
// Create new instance