fix(ads): Fixes media from playing when ads are blocked

This commit is contained in:
ferdiemmen
2018-01-29 22:40:08 +01:00
parent cc128e6088
commit c4eb4c97ac
6 changed files with 36 additions and 7 deletions
+15 -1
View File
@@ -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;