Hallo
Folgendes Problem:
Ich will JavaScript-Dateien dynamisch zuladen, wenn diese gebraucht werden und vorher mittels eines vorgängigen, synchronen XMLHttpRequests eine 404-Fehler abfangen:
function loadScript(url) {
//check if 'url' is available:
var xhr = null;
if (typeof XMLHttpRequest != 'undefined') {
xhr = new XMLHttpRequest();
}
if (!xhr) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
xhr = null;
}
}
if (xhr) {
xhr.open('HEAD', url, false);
xhr.send();
if(xhr.status == 404) {
alert('Could not load\n'+url);
return;
}
}
var head = document.getElementsByTagName('head').item(0);
var script = document.createElement('script');
script.src = url;
script.type = 'text/javascript';
head.appendChild(script);
}
loadScript('script1.js');
Funktioniert alles tiptop allen getesteten Browsern, ausser in Opera (9.60).
Dieser bleibt hängen und führt 'script1.js' nicht aus.
Wenn man allerdings den Ladevorgang abbricht und nachher auf reload clickt, funktioniert es manchmal...
Hat jemand eine Idee, woran das liegt bzw. ob/wo ich einen Fehler gemacht habe?
Danke für die Antworten,
nam