try/catch 블록 내에서 execScript를 사용하여 문자열 화 된 JavaScript를 실행하고 있습니다. 문자열에 자바 스크립트 오류가있는 경우 execScript는 IE 8의 catch 블록에서 다음과 같은 페이지를 다시로드 할 때 다음 오류를 반환합니다.IE8에서 try/catch oddity 시도
'오류 : 80020101 오류로 인해 작업을 완료 할 수 없습니다.'
위와 같은 일반적인 오류가 발생하지 않는 IE 8에서 JavaScript를 전역 적으로 평가하는 다른 방법이 있습니까? 나는 그것이 글로벌 컨텍스트에서 자바 스크립트를 평가하지 않기 때문에 eval을 사용하는 것이 효과가 없다는 것을 안다.
// fn is defined somewhere above this code
function globalEvaluation() {
if(document.defaultView) {
document.defaultView.eval.call(undefined, fn);
} else if (document.parentWindow) {
document.parentWindow.execScript(fn);
}
}
return function() {
try {
globalEvaluation();
} catch(e) {
// do some error handling
// in IE 8 I get the 80020101 error
}
}