diff options
author | Sam Potts <sam@selz.com> | 2018-01-30 09:22:54 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-30 09:22:54 +1100 |
commit | bb51647fe2f6e8e0eabb3099b58cc334e23936f0 (patch) | |
tree | f0ed45d84bc0304a543bafa08216355e63e55ac8 /src/js/utils.js | |
parent | 8f7a8940f36ab85c87a3406a378d383e58ee3d60 (diff) | |
parent | 71efbe7a927a9638204129ca7a2d52c498fa7e6e (diff) | |
download | plyr-bb51647fe2f6e8e0eabb3099b58cc334e23936f0.tar.lz plyr-bb51647fe2f6e8e0eabb3099b58cc334e23936f0.tar.xz plyr-bb51647fe2f6e8e0eabb3099b58cc334e23936f0.zip |
Merge pull request #772 from sampotts/fix/ads-blocked
Fix: ads blocked and media playing before ad plays
Diffstat (limited to 'src/js/utils.js')
-rw-r--r-- | src/js/utils.js | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/js/utils.js b/src/js/utils.js index 155dc087..7c277301 100644 --- a/src/js/utils.js +++ b/src/js/utils.js @@ -82,7 +82,7 @@ const utils = { }, // Load an external script - loadScript(url, callback) { + loadScript(url, callback, error) { const current = document.querySelector(`script[src="${url}"]`); // Check script is not already referenced, if so wait for load @@ -99,6 +99,10 @@ const utils = { element.callbacks = element.callbacks || []; element.callbacks.push(callback); + // Error queue + element.errors = element.errors || []; + element.errors.push(error); + // Bind callback if (utils.is.function(callback)) { element.addEventListener( @@ -111,6 +115,16 @@ const utils = { ); } + // Bind error handling + element.addEventListener( + 'error', + event => { + element.errors.forEach(err => err.call(null, event)); + element.errors = null; + }, + false, + ); + // Set the URL after binding callback element.src = url; |