브라우저의 파일 로딩에는 실제로 매우 엉키고 호환성 문제가 있습니다. 최근에 @lifesinger가 특정 요약을하는 것을 보았습니다. 여기서 더 번거로운 것은 IE6 ~ 8이 성공적이거나 실패한 로딩을 구별하지 않으며 모두 하나의 콜백을합니다. 온라인으로 솔루션을 보았는데, 로딩 파일의 끝에 전역 변수를 배치하거나 레이블의 속성을 변경 하여이 플래그 비트로 성공 여부를 판단하는 것입니다. 그러나 그것은 분명히 완벽하지 않으며 파일을로드해야합니다.
나중에 다른 아이디어를 시도하고 먼저 vbscript를 만들고 SRC를 JS 파일로 설정했습니다. 파일이 정상적으로로드되면 오류가 확실히보고되며 그렇지 않으면 응답이 없습니다. 이런 식으로 Window.onerror가 오류를 잡으면 파일이 유효하고 정상적으로로드됩니다. 캡처되지 않으면 시간 초과가 n 초 안에 트리거됩니다.
코드 의이 부분 :
코드 사본은 다음과 같습니다.
if (예 : && IE <9) {
vbs = doc.createelement (/'script/');
vbs.language = /'vbscript /';
vbs.src = 파일;
SaveerRorHandle = Win.onerror;
win.onerror = function () {
짐();
WIN.ONERROR = SAVERRORHANDLE;
진실을 반환하십시오.
};
settimeout (function () {
ref.parentnode.insertbefore (vbs, ref);
}, 0);
} 또 다른 {
로드 ();
}