Voglio rilevare se un tag di script (creato e aggiunto dinamicamente al DOM) non viene caricato. L'evento onerror funziona, tranne con file: // URL in Firefox.Come rilevare un caricamento di script di un file: // URL non riesce in Firefox?
Sfortunatamente nessuna delle tecniche described here (eccetto i timeout, che sono inaccettabili nel mio caso) sembra funzionare in Firefox se l'src del tag script è un file: // URL (o relativo URL e la pagina è stata caricata tramite un file: // URL)
test case:
var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.setAttribute('src', 'doesnotexist.js');
script.onerror = function() { alert("Loading failed!"); }
document.getElementsByTagName('head')[0].appendChild(script);
caricare questo in una pagina HTML con un file: // URL. L'evento onerror non verrà eseguito in Firefox. Carica da un server web, o su Safari o Chrome, e lo farà.
Questo mi sembra un insetto. C'è un modo noto intorno ad esso?
Dovresti accettare le risposte alle tue domande. – SLaks
@Marcel Korpel: Ha detto che i timeout non sono un'opzione, quindi non funzionerà. – PleaseStand
Per riferimento, il problema con Firefox che non genera un evento 'error' quando un URL' file: // 'non riesce a caricare è [Bugzilla bug 621276] (http://bugzilla.mozilla.org/show_bug.cgi? id = 621.276). –