How can a page in IE render differently between Cassini and IIS7? - iis-7

I am completely confused - I have a website that renders perfectly in IE8 when run through Cassini (in Visual Studio) but has several messed up elements (style/look) when deployed to localhost and viewed through the same browser (IE8).
I have run Beyond Compare 3 on the html and CSS files and they are exactly the same. Are there any circumstances where IIS7 could be somehow sending extra/different information to the browser? Has anyone run across something like this before?
Note that Chrome and Firefox both render the same webpage just fine through Cassini and IIS7.
(Update)
What Browser Mode and Document Mode does IE8 Developer Tools think you are in if you press F12?
When running from Cassini (http://localhost:22120), IE8 stays in IE8 mode (with the option for turning on IE7 compatibility view) and everything looks great.
When running from IIS7 (http://{machine name}), IE8 automatically goes into in IE8 Compat View, IE7 standards and things look horrible.

My assumption (as mentioned in my comment earlier) was that IE is working in a different rendering mode, depending on whether you are using IIS or Cassini, and this is causing the layout differences. It actually appears to be IE that is causing this, based on the settings found in Tools | Compatibility View Settings. There are two check boxes:
Display intranet sites in Compatibility View - this is checked by default.
Display all websites in Compatibility View - this is not.
Either way, you should use the standard meta tag to force the mode you wish to be rendered in.
<meta http-equiv="X-UA-Compatible" content="IE=8" />
Hope this helps.

I think the best solution I have found is not far from Paul's one but it tells the browser to use your Internet Explorer version which solved other problems I have with content="IE=8".
Here it is:
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />

Actually I had the same issue. IE8 has a compatability settings dialog under tools menu. There is a check box which indicates "Display intranet sites in compatability mode".
And not that IE7 compatability mode is not the same as using ie7, there are some differences.

One side note to this issue:
if the same page renders differently on different servers but in the same IE8 browser, check your url - IE8 automatically displays in compatibility mode if the domain is not fully qualified.

If the page content is the same then compare the headers that the servers are sending with the page.
After kicking this around a bit I though about compatibility mode. Try manually forcing IE8 to render the page in compatibility mod. If the render doesn't change then you know that the issue is because IE is rendering that page in compatibility mode when reading it from that web server.
If the latter is the case look into http://msdn.microsoft.com/en-us/library/dd567845%28VS.85%29.aspx

Related

What could cause IE10 to block an iframe when running without compatibility view

We're experiencing an issue with our site, YouSIMUL8.com. We use this site to allow people to run simulations on the web. An example simulation can be found at http://www.yousimul8.com/watch.php?x=4d5005d769d31.
If you have a look at what's going with this page, when you press play it loads an iframe in and the simulation is shown there.
I've been speaking to a customer who has been having difficulty using the site. When they open a simulation, only the border of the iframe is shown and nothing else happens. This is using IE10. The problem disappears when compatibility view is turned on.
I cannot replicate this issue with IE10 no matter how hard I try. The customer's IT is outsourced so they cannot access the settings, developer tools or console in IE.
So the question is this: What configuration of the client's machines could cause this behavior?
To force to the rendering of the page to latest version of IE, overriding the automatic compatibility view, try to use the Meta Tag Compatibility View:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Have a look to this StackOverflow post.

ASP.NET page running on compatibility view and displays badly

I'm developing a website that displays fine in FF or Chrome, but when running on IE, it displays the message below and turn view into compatibility, thus the layout fails to display correctly and some tags and controls such asp menu disappear (still exist in html code).
Can anyone help me solve this problem?
Error Message: A problem displaying localhost caused internet explorer to refresh the page using compatibility view!
There are most likely markup validation errors in your page that is causing IE to fall back to compatibility mode that FF or Chrome may ignore. Ensure that your page passes validation.
Try going here W3C Markup Validation Service and running your HTML or URL through to look for any blatant errors.
The other possibility is that you are explicitly setting the meta tag for IE to force compatibility, e.g.
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
If so, remove it.

Browser issues : How do I check what is being sent to page (IE version 10)

I have an ASP.net website that was working fine with IE9, Mozilla, chrome but with IE 10 users have lot issues. The UI and even the functionality (like clicking on button, login/logout do not work) doesn't work well with IE10.
The IE version I have is 10.0.9200.16519.
I see few differences between the view source from IE10 and google-chrome (or even IE9) but can't understand much of it.
Where actually in the site can I check why pages sent to IE 10 browser is different from others browser or IE9?
Please suggest how can I debug further?
PS: The site works fine with IE9 and below versions of IE.
ASP.NET fails to identify IE10's user-agent string, and as a result can send back broken code. This has been discussed in various places, but probably most notably on Scott Hanselman's blog. See the post titled Bug and Fix: ASP.NET fails to detect IE10 causing _doPostBack is undefined JavaScript error or maintain FF5 scrollbar position.
check if there is any js error, use IE developer toolbar (F12) to debug script

IE9 always reverting to IE7 standards on my DEV server, not in PROD

I have a HTML5 site that when viewed in IE9 on my DEV server it always defaults to IE7 standards and looks broken. Using Developer Tools, I can manually switch the Document mode to IE9 Standards (Page Default), then the page looks good. However, the same page in PROD shows that it defaults to IE9 Standards.
Is it true that whenever the IE browser displays the "Compatibility Icon", does that mean there are CSS or HTML issues? Because the icon only shows up on the PROD version of the website.
I would add the tag x-ua-compatible tag, but it must not be best practices because it doesn't validate by the W3C. Is adding the tag the ONLY way to fix?
There's a checkbox on the Compatibility mode settings that say something like "Use Compatibility modefor intranet sites". Try setting it off on the clients's IEs.
We ended up adding a dynamic check to set the meta tag if we were in the DEV environment and leave the PROD boxes alone, it seems to be working fine. Thanks Lucero and pst for your assistance.

Enable Compatibility View (IE8) from code-behind?

is there a way that i can add tag in my .aspx page to Enable Compatibility View for Web sites by using Internet Explorer 8 ? without using click on "compatibility" icon on the browser?
Include as the first thing inside <head>:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
I'd strongly recommend fixing whatever site problems you have so the site works properly in IE8-native Standards Mode though. You will get a performance increase from running native in IE8, and even more so in IE9.
You can't actually enable "Compatibility View", but you can use various mechanisms to control the compatibility mode that IE uses to render the page (bobince's suggestion is one). I'd recommend reading: http://msdn.microsoft.com/en-us/library/cc288325%28v=VS.85%29.aspx

Resources