Heim  >  Artikel  >  Web-Frontend  >  So ermitteln Sie den Erfolg oder Misserfolg des Ladens von JS-Dateien in IE- und IE6-Browsern_Javascript-Kenntnisse

So ermitteln Sie den Erfolg oder Misserfolg des Ladens von JS-Dateien in IE- und IE6-Browsern_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 16:13:391250Durchsuche

Das Laden von Browserdateien weist tatsächlich sehr komplizierte Kompatibilitätsprobleme auf. Kürzlich habe ich gesehen, wie @lifesinger eine konkrete Zusammenfassung erstellt hat. Das Problem dabei ist, dass IE6~8 nicht zwischen erfolgreichem und fehlgeschlagenem Laden unterscheidet und alle einen Rückruf annehmen. Eine Lösung, die ich online gesehen habe, besteht darin, eine globale Variable am Ende der geladenen Datei festzulegen oder das Attribut des Etiketts zu ändern, um es zu unterscheiden, sodass der Erfolg oder Misserfolg anhand dieses Flags beurteilt werden kann. Aber es ist offensichtlich nicht perfekt und die Datei muss geladen werden.

Später habe ich eine andere Idee ausprobiert: Zuerst ein VBScript erstellen und den Quellcode auf eine JS-Datei setzen. Wenn die Datei normal geladen wird, wird auf jeden Fall ein Fehler gemeldet, andernfalls erfolgt keine Antwort. Wenn window.onerror auf diese Weise einen Fehler erkennt, bedeutet dies, dass die Datei gültig ist und normal geladen werden kann. Bei Nichterfassung wird nach n Sekunden ein Timeout ausgelöst.

Dieser Teil des Codes:

Code kopieren Der Code lautet wie folgt:

If(dh && dh < 9) {
        vbs = doc.createElement('script');
        vbs.sprache = 'vbscript';
         vbs.src = file;
        saveErrorHandle = win.onerror;
       win.onerror = function() {
          load();
          win.onerror = saveErrorHandle;
         return true;
};
setTimeout(function(){
​​​​​ ref.parentNode.insertBefore(vbs, ref);
}, 0);
} sonst {
       Load();
}
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn