Respect `defer` attribute when mirroring

This commit is contained in:
Deathamns 2014-11-11 16:33:50 +01:00
parent 812da0900e
commit 36ad23a1db
1 changed files with 13 additions and 2 deletions

View File

@ -282,8 +282,19 @@ if (self.chrome) {
e.preventDefault();
details = document.createElement('script');
details.textContent = atob(response.slice(response.indexOf(',', 20) + 1));
e.target.parentNode.insertBefore(details, e.target);
details.parentNode.removeChild(details);
if (e.target.hasAttribute('defer') && document.readyState === 'loading') {
var jsOnLoad = function(ev) {
this.removeEventListener(ev.type, jsOnLoad, true);
this.body.removeChild(this.body.appendChild(details));
};
document.addEventListener('DOMContentLoaded', jsOnLoad, true);
}
else {
e.target.parentNode.insertBefore(details, e.target);
details.parentNode.removeChild(details);
}
}
};