La carga del archivo del navegador en realidad tiene problemas de compatibilidad muy enredados. Recientemente vi a @lifesinger dar un resumen específico. Lo que es más problemático aquí es que IE6 ~ 8 no distingue entre una carga exitosa o fallida, y todos van una devolución de llamada. Vi una solución en línea, que es colocar una variable global al final del archivo de carga o cambiar los atributos de la etiqueta para distinguirla, de modo que el éxito o no se juzga por este bit de bandera. Pero obviamente no es perfecto, y el archivo debe cargarse.
Más tarde, probé otra idea, primero crear un VBScript, configurar SRC en un archivo JS. Si el archivo se carga normalmente, definitivamente se informará un error, de lo contrario no habrá respuesta. De esta manera, si Window.oNError captura el error, significa que el archivo es válido y se cargará normalmente. Si no se captura, se activará un tiempo de espera en n segundos.
Esta parte del código:
La copia del código es la siguiente:
if (ie && ie <9) {
vbs = doc.createElement (/'script/');
vbs.language = /'vbscript /';
vbs.src = archivo;
saveErRorHandle = win.onerror;
win.onerror = function () {
carga();
win.onerror = saveErRorHandle;
devolver verdadero;
};
setTimeOut (function () {
ref.ParentNode.insertBefore (VBS, REF);
}, 0);
} demás {
carga();
}