2009-09-18 4 views
4

Windows Vista의 Internet Explorer 8에서 상당히 복잡한 Javascript 기반 웹 응용 프로그램을 테스트하고 있습니다. 응용 프로그램을로드 한 후 IE는 "표준"브라우저 모드와 "IE 8 표준"문서 모드에 있습니다. 응용 프로그램이 실행되는 동안 IE는 페이지를 다시로드하고 "(URL)의 표시 문제로 인해 Internet Explorer에서 호환성보기로 페이지를 다시로드하게되었습니다"라는 메시지를 표시합니다 (정확한 메시지가 아닌, 비 영어 버전의 Vista). 다시로드 한 후 브라우저는 Quirks 모드에 있습니다.Javascript로 인해 IE 8에서 호환성보기로 페이지를 다시로드 할 수 있습니까?

자바 스크립트 코드를 디버깅하는 것은 무의미한 시도였습니다. 문제를 확실하게 재현하거나 좁힐 수 없기 때 문에이 동작을 일으킬 수있는 것에 대한 통찰력을 고맙게 생각합니다.

+0

소리가 나쁩니다. IE 용 자바 스크립트 디버깅 도구가 있습니다 - 설치되어 있습니까? 오류/문제점을 보여줄 수 있습니까? – oberhamsi

답변

2

innerHTML을 통해 게재/생성하는 마크 업에 문제가 있어야합니다. 여기 모드가 IE8 표준을 올바르게 구문 분석하는 것은 불가능 마크 업에서 details of IE's auto-recovery 포함 된 IE 팀의 기사는 다음과 같습니다

... 오류가 발생해야 새로운 레이아웃 엔진 내에서 특정 코드 경로가있다 레이아웃 프로세스가 정상적으로 복구되지 못하고 우리는 이러한 경로를 통해 어설 션을 유지했습니다 ... 호환성보기를 사용하여 레이아웃 "하드 어썰트"를 복구하여 IE8의 출시 된 버전에서이 경험을 더욱 세련 시켰습니다. 다시 말해서 IE7과 같은 방식으로 페이지를 표시하면 전혀 내용을 표시하지 않는 것보다 더 나은 사용자 경험을 제공 할 수 있습니다. 그것은 머리도의 꼬리를 만들 수없는 HTML 문자열을 공급하면 페이지가로드 된 후에도이 문제를 트리거 할 수 있도록 innerHTML를 사용하는의 HTML 파서를 호출하는

참고.

+0

Excellent, 그게 제가 찾고있는 정보입니다. 내 응용 프로그램은 많은 HTML을 동적으로 생성하므로 디버깅을 시작할 위치를 알 수 있습니다. 감사! –

1

check here ..

기본적으로 페이지 당, 당신이 사이트 전체, 메타 태그

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 

를 추가하거나 할 수 있습니다이 헤더에 추가 :

X-UA-Compatible: IE=EmulateIE7 
1

렌더러 자체에서 발생하는 Automatic Crash Recovery 것 같은데. 이것은 스크립트보다는 IE 자체의 버그이므로 디버깅은 실제로 힘들 수 있습니다.

모든 IE8 설치에서 이러한 현상이 발생합니까? IE8은 최신 패치로 업데이트 되었습니까? (신뢰할 수없는 제 3 자 광고 확장이 될 수 있습니까?)

관련 문제