IE8 Compatibility mode does not solve display issues.



We have a website that uses a third-party menu control. This control
displayes correctly in IE6 and IE7, but in IE8 it displays little "boxes" to
the right of menus with dropdowns. (I have set up a test site with a couple
of HTML pages at See and - the "boxes" are showing up to the
right of the My Training, Programs, Store Records and Reports menus in the
main menu.)

Since the menu control is used on nearly every page on the site, I would
prefer to handle this using HTTP headers configured in IIS. I tried that and
used Fiddler 2 to verify that the header is indeed being sent, however the
"boxes" still display. This is the raw header output from Fiddler:
HTTP/1.1 304 Not Modified
Last-Modified: Mon, 05 Oct 2009 16:23:19 GMT
Accept-Ranges: bytes
ETag: "5f2c3e26d845ca1:606"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-UA-Compatible: IE=EmulateIE7
Date: Mon, 05 Oct 2009 17:30:43 GMT

I also tried using the X-UA-Compatible meta tag first in the <HEAD> section,
but even with that, the "boxes" still display.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"/>
<meta content="C#" name="CODE_LANGUAGE"/>
<meta content="JavaScript" name="vs_defaultClientScript"/>
<meta content=""
<title>NAPA Training: Reports</title>
<LINK href="/library/brands/napatrain/NAPATraining.css" type="text/css"

<script src="js/global.js" type="text/javascript"></script>
<form name="Form1" method="post" action="page.aspx?pcid=413" id="Form1">

The "broken page" button does not display in IE8, but I can go into the Page
menu Compatibililty View Settings in the browser and add the site
to the list of sites to display in Compatibility View. If I do that, the page
displays correctly, however our client is not willing to have all their users
go through that process.

I tried entering javascript:alert (document.documentMode); in the IE8
Address bar. It returns 5 in all cases, whether the "boxes" display or not.

Modifying or replacing the third-party menu control is, unfortunately, not
an option.

If anyone can see what I am missing here, please let me know!



Thank you for getting back to me so quickly!

Unfortunately, the menu control was purchased in early 2007 and is no longer
supported. The vendor's forum suggests to try to remove the <!DOCTYPE>
declaration; if that doesn't help, they say users must upgrade to the current
version of the menu control. Unfortunately ours is customized so that would
be a lot of work.

I've tried removing the DOCTYPE declaration, unfortunately that does not
make any difference. (I'm also not sure how that would affect users of older
versions of IE, as well as other browsers.) I put up test pages for that
scenario as well on the test site:


I was hoping since the menu does display correctly if I manually configure
IE8 to display the page in Compatibility View, that there might be a way to
achieve the same result by sending the appropriate HTTP header or tag with
the page.


I'd say that's what you have to do, or use the built-in <asp:Menu />
So to make sure I understand you - there isn't a way through HTTP headers
and/or META tags (and/or client-side scripting or anything else) to get a
page to render in exactly the same way as if the user has manually configured
IE8 to display it in Compatibility View?

I just want to be sure we are not overlooking some simple solution to the

Thanks again for your help with this issue!


Impossible to guarantee anything with 3rd-party controls...

Thank you for the info! I will keep that in mind in the future - use genuine
Microsoft parts whenever possible :)

Jokes aside, the Menu control in ASP.Net looks promising, we may end up
using that one instead.

Thanks again for your help!

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question