O carregamento de arquivos do navegador realmente tem problemas de compatibilidade muito emaranhados. Recentemente, vi @lifesinger dar um resumo específico. O mais problemático aqui é que o IE6 ~ 8 não distingue entre carregamento bem -sucedido ou falhado, e todos eles vão um retorno de chamada. Vi uma solução on -line, que é colocar uma variável global no final do arquivo de carregamento ou alterar os atributos do rótulo para distingui -lo, para que o sucesso ou não seja julgado por esse bit de sinalizador. Mas obviamente não é perfeito, e o arquivo precisa ser carregado.
Mais tarde, tentei outra idéia, primeiro crie um VBScript, defina o SRC em um arquivo JS. Se o arquivo carregar normalmente, um erro será definitivamente relatado, caso contrário, não haverá resposta. Dessa forma, se o Window.onerror capturar um erro, isso significa que o arquivo é válido e será carregado normalmente. Se não for capturado, um tempo limite será acionado em n segundos.
Esta parte do código:
A cópia do código é a seguinte:
if (ou seja, ou seja, <9) {
vbs = doc.createElement (/'script/');
vbs.language = /'vBScript /';
vbs.src = arquivo;
salvErrorHandle = win.onerror;
win.onerror = function () {
carregar();
win.onerror = saveerrorHandle;
retornar true;
};
setTimeout (function () {
ref.parentnode.insertBefore (VBS, ref);
}, 0);
} outro {
carregar();
}