IE 및 IE6 browsers_javascript 기술에서 JS 파일 로딩의 성공 또는 실패를 확인하는 방법

WBOY
풀어 주다: 2016-05-16 16:13:39
원래의
1261명이 탐색했습니다.

브라우저 파일 로딩에는 실제로 매우 복잡한 호환성 문제가 있습니다. 최근에 @lifesinger가 구체적인 요약을 작성하는 것을 보았습니다. 여기서 문제가 되는 점은 IE6~8에서는 로딩 성공/실패를 구분하지 않고 모두 콜백을 받는다는 것입니다. 제가 온라인에서 본 해결책은 로드된 파일 끝에 전역 변수를 설정하거나 레이블의 속성을 변경하여 이를 구별하도록 하여 이 플래그로 성공 또는 실패를 판단할 수 있도록 하는 것이었습니다. 하지만 완벽하지는 않으며 파일을 로드해야 합니다.

나중에 다른 아이디어를 시도했는데, 먼저 vbscript를 만들고 src를 JS 파일로 설정했습니다. 파일이 정상적으로 로드되면 반드시 오류가 보고되고 그렇지 않으면 응답이 없습니다. 이런 식으로 window.onerror에서 오류가 발생하면 해당 파일이 유효하고 정상적으로 로드될 수 있다는 의미입니다. 캡처되지 않으면 n초 후에 시간 초과가 트리거됩니다.

코드의 이 부분:

코드 복사 코드는 다음과 같습니다.

If(ie && ie < 9) {
        vbs = doc.createElement('script');
        vbs.언어 = 'vbscript';
         vbs.src = 파일;
        saveErrorHandle = win.onerror;
       win.onerror = function() {
          로드();
          win.onerror = saveErrorHandle;
         true를 반환합니다.
};
setTimeout(함수(){
​​​​​ ref.parentNode.insertBefore(vbs, ref);
}, 0);
} 그 밖의 {
       로드();
}
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿