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: