I was doing some tests on IE 8 on a standards-compliant page, with a strict doctype:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
However, apparently the page was being rendered in “IE 8 compat view”/”IE7 standards”, which was breaking the layout.
After looking around, I discovered that apparently IE has a websites blacklist, forcing compatibility mode for those listed.
I then checked on this blacklisted domains DB if the site I was working on was on the list, but it isn’t. It’s a large site and the database definitions seem to be outdated tho, so it could be that it was added in the last year or so.
Testing the exact same page on another domain triggers IE8’s standards mode, which would suggest it has been indeed blacklisted recently.
What can I do now to make IE8/7 trigger standards mode?
Is there any way to remove the website from the blacklist?
I suppose that I could use a UA meta, if nothing else is available, but would prefer to avoid adding (yet another) unnecessary html element tailored just to make IE work.
scunliffe’s comment got me on the right track to what seems to be the problem here: IE8 seems to treat intranet servers in a different way, and shows them in compatibility mode.
Here is scunliffe’s original comment (if you write it as an answer, I’ll pick yours):
Are you testing this on an external domain? or a localhost? or Intranet server? – IE renders “internal” servers in its “not quite so standards” mode by default. Note that in addition to the global compat list that MSFT maintains, each user’s IE8 can add/remove sites from the local list.