IE8 Compatibility View Button Enabled Even If IE = EmulateIE7

For our web application, we send X-UA-Compatible -> IE = EmulateIE7 for all pages. However, the compatibility view button next to the Refresh button is still displayed.

1) Is this the expected behavior? 2) Should the HTTP header force the browser to display in IE7 mode (with Quirks + IE7Standards enabled), and then display the compatibility view button?

If the site is not ready to work with IE8, is there a way to force emulation of IE7 and thus disable this button?

+4
source share
2 answers

According to Just The Facts: Recap of Compatibility View , you declared [your site] "ready" for Internet Explorer 8 using the version tag. The compatibility view button should not be displayed:

Website owners always control their content. By default, Internet Explorer uses the DOCTYPE switch to determine the Quirks v mode. Standards (again, by default, standards are in accordance with IE8). Site owners can use the X-UA-Compatible tag to be absolutely declarative of how they look like their site to display and map standards mode pages to IE7 standards. Using the X-UA-Compatible tag redefines the type of compatibility on the client.

Sometimes the compatibility view button does not appear. The button is located in the address bar next to the "stop and" refresh buttons. There are several cases where there is no action for the user and, therefore, the compatibility view button will not be displayed:

  • If youโ€™re viewing an Internet Explorer internal access page (such as InPrivate),
  • If you view a page that has declared it "ready" for Internet Explorer 8 using the version / HTTP header (it doesnโ€™t matter if this tag starts Quirks, IE7 standards or IE8 standards, the wont button will be displayed)
  • If you are viewing an intranet page and you have the checkbox "Show intranet sites in the compatibility window" checked
  • If youโ€™re viewing a web page and you have the checkbox next to "Show all websites in compatibility mode"
  • If you are viewing a webpage included in the list of compatibility updates from Microsoft, and you have the checkbox "Include updated lists of websites from Microsoft."
  • If you switched either the "Document Mode" or the "Browser Settings" mode using the developer toolbar

If you use an HTTP header, do you use Fiddler to make sure that the X-UA-Compatible header is actually delivered on every page?

If you use the META tag, then according to META Tags and locking in future compatibility :

X-UA compatible header is not case sensitive; however, it should appear in the header of the web page (HEAD section) in front of all other elements, with the exception of the TITLE element and other META elements.

Finally, IE8 is actually in compatibility view when the button appears? If so, it is possible that your site is on the IE8 compatibility list from Microsoft or in the local client configuration:

  • Tools > Compatibility View Settings
  • Make sure your site is not listed under "Websites Added to Compatibility View"
  • Try unchecking Enable updated website lists from Microsoft and restart your browser.
+14
source

I had a problem on our website where we started using Meta EmulateIE7 to overcome CSS issues when IE8 was first released. Later we fixed the problem and added a meta tag X-UA-compatible IE = 8

We noticed that even when clearing the browser cache, IE8 still maintains the state of the compatibility button set by the user. It was important for us to overcome this, because it caused problems with scripts when working in compatibility mode.

We solved the problem by having X-UA-compatible IE = 8 at the beginning of all pages, and also adding it to IIS as an HTTP header. The compatibility button is no longer displayed in visitors' browsers =)

Hope this helps!

0
source

All Articles