views:

32

answers:

2

I'm getting a weird issue involving IIS and IE, and I'll try to describe it clearly.

I have a regular html-css-js/jquery website that I've developed locally. Now that it's ready, I'm trying to deploy it on a server.

Once it's hosted on the server, I see two problems in IE only:

  • The rendering is slightly different: there's a few pixels of additional white space all around my website (so the contents is actually more 'compressed' than when viewed locally).

  • Some JS issues: I'm using the Impromptu jQuery popup plug-in, and the callback I specify in its 'loaded' event pre-populates its forms fields. In FF it works, but in IE the fields don't get populated until I close the popup and open it again. This worked locally on all browsers.

  • As weird as it sounds, the text in my jQuery popup dialog does not seem to have the 'ClearType' technology applied. The text is like '1 pixel thin' and not anti-aliased like everywhere else.

I have uploaded my website to another server and it runs perfectly fine. The issue is that I need to put it on the first server and I don't know what's wrong. Both servers are on Win 2k3 with IIS 6, .NET 3.5.

Any pointers as to what is going wrong? Thanks a lot.

+1  A: 

Make sure that the "security zone" in the Internet Explorer status bar is the same when viewing the site between the 2 servers.

David
A: 

Use the IE developer toolbar to debug your css. Could also be a caching issue if it looks like an older version.

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=95e06cbe-4940-4218-b75d-b8856fced535

jms
Quick way to rule this out is to do a Ctrl-F5 refresh instead of a F5 refresh (ignores client cache for the request).
Gabriel McAdams
This led me to find the problem, thanks. It turns out that once deployed, IE8 automatically goes in 'Compatibility View' and it breaks a couple of things in my layout. I'll now be looking at why it goes into this mode automatically and how I can prevent it.
The HTML5 doc type <!DOCTYPE html> will kick ie into standards mode. http://ejohn.org/blog/html5-doctype/
jms
I also find this useful when debugging IE stuff. http://www.blunck.info/iehttpheaders.html
jms
Turns out IE has a default setting that turns on Compatibility View for intranet sites. I didn't mention this in my original question, but it's for an intranet. I "solved" this by adding X-UA-Compatible: IE=8 to headers sent by IIS.