diff options
author | ferdiemmen <fjemmen@gmail.com> | 2018-01-29 22:40:08 +0100 |
---|---|---|
committer | ferdiemmen <fjemmen@gmail.com> | 2018-01-29 22:40:08 +0100 |
commit | c4eb4c97ac1f186e5054da298e4960cb498c6d01 (patch) | |
tree | 2185d27868e37f92c2413c6f250bde65f78e00cd /src/js/utils.js | |
parent | cc128e60888468a90dd73c90f05fc7ddbf104551 (diff) | |
download | plyr-c4eb4c97ac1f186e5054da298e4960cb498c6d01.tar.lz plyr-c4eb4c97ac1f186e5054da298e4960cb498c6d01.tar.xz plyr-c4eb4c97ac1f186e5054da298e4960cb498c6d01.zip |
fix(ads): Fixes media from playing when ads are blocked
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; |