admin管理员组

文章数量:1435859

I'm testing a fairly plex Javascript-based web application in Internet Explorer 8 on Windows Vista. After loading the application, IE is in "standards" browser mode and "IE 8 standards" document mode. While the application is running, IE will sometimes reload the page and display a message saying something like "A display problem with (URL) has caused Internet Explorer to reload the page in patibility view" (not the exact message, I'm on a non-English version of Vista). After the reload, the browser is in Quirks mode.

Debugging the Javascript code has been an exercise in futility since the problem can't be reliably reproduced or narrowed down, so I'd appreciate any insight into what could cause this behavior.

I'm testing a fairly plex Javascript-based web application in Internet Explorer 8 on Windows Vista. After loading the application, IE is in "standards" browser mode and "IE 8 standards" document mode. While the application is running, IE will sometimes reload the page and display a message saying something like "A display problem with (URL) has caused Internet Explorer to reload the page in patibility view" (not the exact message, I'm on a non-English version of Vista). After the reload, the browser is in Quirks mode.

Debugging the Javascript code has been an exercise in futility since the problem can't be reliably reproduced or narrowed down, so I'd appreciate any insight into what could cause this behavior.

Share Improve this question edited Aug 23, 2011 at 21:13 Trump Voters Deserve Damnation 130k88 gold badges358 silver badges381 bronze badges asked Sep 18, 2009 at 14:32 Daniel WagnerDaniel Wagner 2,8172 gold badges22 silver badges16 bronze badges 1
  • that sounds bad. there are javascript debugging tools for IE - do you have those installed? do they show any errors / problems? – oberhamsi Commented Sep 18, 2009 at 14:46
Add a ment  | 

3 Answers 3

Reset to default 2

There must be a problem with the markup you are serving/creating via innerHTML. Here's an article from the IE team which includes details of IE's auto-recovery from markup that is impossible to parse correctly in IE8-standards-mode:

...there are particular code paths within the new layout engine where, should an error occur, the layout process can’t gracefully recover and we’ve kept assertions around these paths... We refined this experience further in the released version of IE8 by recovering layout “hard asserts” using Compatibility View. In other words, we believe that showing a page the way IE7 would have offers a better user experience than showing no content at all.

Note that using innerHTML invokes the HTML parser, so it could trigger this problem even after the page is loaded if fed an HTML string it can't make head nor tail of.

check here ..

basically. per-page, you can add a meta tag

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

or, site-wide add this to header:

X-UA-Compatible: IE=EmulateIE7

Sounds like Automatic Crash Recovery occurring in the renderer itself. That's a bug in IE itself rather than your scripts, so debugging is going to be tough indeed.

Does this happen on all IE8 installs? Is IE8 updated with the latest patches? (Could it be an unreliable third-party extension?)

本文标签: internet explorer 8How can Javascript cause IE 8 to reload a page in compatibility viewStack Overflow