I'm a Mac person, web designer, trying to understand "Display intranet sites in compatibility mode" option with IE 11
I have client, an architecture firm, that used to host their OLD website (HTML site I didn't develop) in-house on their Windows server. When the Wordpress site I recently launched for them is hosted on a Ubuntu server in house.
The problem is several months after we go live one guy in the office when viewing with IE is seeing their portfolio pages display thumbnail images stacking vertically vs horizontally. When they turn Display intranet sites in compatibility mode off the thumbnails display correctly. Most people aren't using IE so its not surprising its just noticed now.
Here is an example of a portfolio page
They upgraded their workstations to Windows 8.1 and IE 11 shortly after we launched the new website.
I am a Mac person but I have not been able to recreate the problem with that IE/Win configuration with BrowserStack, nor have any of the people I know who have that version of IE/Win been able to recreate it.
If I recreate the portfolio page on my test site hosted by Bluehost - the clients see the portfolio pages correctly in compatibility mode.
So my question is what exactly is an intranet site in this environment? This website is not an inhouse only website its public - does intranet site refer to anything else besides a website like this one? I am sure there is information in house they can see via intranet only that's not public but is that why the setting is turned on? And why would it have to be displayed in compatibility mode?
Why would they need to have this compatibility turned on at all?
IE makes assumption about displaying intranet sites (http://someInternalSite/
vs. http://someInternalSite.myCompany.org
). That assumption is that intranet sites work best in compatibility mode.
It makes the so called "smart" judgement by looking at it this way: Since the website is hosted in internal servers - there must be some corporate legacy applications developed on older versions of IE. And since IE is not perfect at maintaining proper fallbacks to older versions - thus its good to turn on the compatibility mode for the rescue.
To fix it either access the site with FQDN or uncheck a checkbox in “Compatibility View Settings”
More info of the IE "Smart Defaults" on this blog post: http://blogs.msdn.com/b/ie/archive/2009/06/17/compatibility-view-and-smart-defaults.aspx
I have upvoted the other answer, so i'm not really fishing for your vote. I just wanted to add the findings that i had this evening.
I have a state of the art HTML5 website, that works well in every browser. However, in my own local environment IE is messing thigns up like you said, and even worse. I was thinking it was a server issue as the html that was passed as a responsetext from my server was the right HTML. however, IE was parsing it to something different ( I usually think of IE as a great browser, but I really lost it)
this structure:
<header>
<div>
<div></div>
</div>
</header>
became this in the DOM:
<header></header>
<div>
<div></div>
</div>
<header><//header>
As you can see the whole DOM was parsed into something completely different and was not working, thanks to compatibility being enabled for the intranet. I did set the doctype, and validated my site on w3c, so that wasn't the problem either. The bottomline is, compatibility mode is something you want to stay away from as a developer.