diff options
Diffstat (limited to 'src/js')
-rw-r--r-- | src/js/plyr.js | 14 |
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 |