Preparing Your Site for IE9
As we have blogged about
many
times, one of our top goals for IE9 is enabling developers to utilize
the same markup and code (HTML, CSS, and JavaScript) across all modern browsers. Part of
enabling the same markup means changing existing Web platform behavior for standards-compliance
and interoperability. We have published and updated the list of changes to the platform
in the IE9 Guide for Developers
along with platform previews so that developers have an opportunity to try new features
and test early and often.
We carefully designed and implemented new platform features to ensure existing sites
continue to run well in IE9’s Standards mode. As a result, for many Web developers,
no additional work is required to prepare for IE9.
For sites that need to update, we have identified a set of changes more likely to
impact existing code that does not use
feature and behavior detection. These changes are documented in the
IE9 Compatibility Cookbook, which we will continue to update based on
your feedback. For your convenience, we have listed the changes with a higher probability
of impact below. Refer to the IE9 Compatibility Cookbook for in-depth information
on these changes.
Differences between IE9 and IE8 Standards modes
- Text layout
now uses sub-pixel positioning - Angle Brackets
Are Not Allowed in the createElement Method - Function
pointers to methods require “.call” or “.bind” - Default
User-Agent (UA) String Changed - APIs Are
Not Available if iFrame Is Removed from DOM Tree - OBJECT
fallback is included in DOM and matched by window[name] - Certain
dynamic VML patterns are no longer supported - Indirect
'eval' function calls evaluate in global scope - Table Object
Model Is Now More Consistent with Other Browsers - Thai and
East Asian font sizes are properly respected so text may look smaller in IE9 - Content
attributes and DOM expandos are no longer connected
Differences in IE9’s platform behavior from IE8 across all document modes
Another important goal for IE9 is ensuring that legacy
document modes continue to behave the same as they did in previous versions
of IE. The only exceptions we make are to improve overall product quality in areas
such as security.
- MIME-handling
change: text/css - MIME-handling
change: text/plain - MIME-handling
change: X-Content-Type-Options: nosniff - JavaScript
property enumeration order has changed
If you are updating your site from IE7 mode, you may also want to look at Tony’s
Site Compatibility and IE8 post.
Help Us Help You
If you think we’re missing a compatibility topic or one needs additional information,
please contribute through the
IE9 Compatibility Cookbook site.
—Tony Ross and Marc Silbey, Program Managers, Internet Explorer
Comments
Anonymous
March 18, 2011
Thanks for compatibility mode - you've managed to make a single browser that emulates the brokenness of two at once. awesome.Anonymous
March 18, 2011
The comment has been removedAnonymous
March 18, 2011
Honestly, why compatibility mode? There is NOTHING compatible about compatibility mode. Sites look worse with your "compatible" mode than without it. Why don't you please just get rid of it and make your browsers compatible to begin with? AwfulAnonymous
March 18, 2011
The comment has been removedAnonymous
March 18, 2011
My IE9 brings my PC to 50% CPU and prevents the page from displaying when I go to a page that has an old css FILTER: dropshadow(offx=2, offy=1, color=#666633); Removing that code from the css allows the browser to work again.Anonymous
March 18, 2011
@EricLaw [MSFT] Hello again! On blogs.msdn.com/.../internet-explorer-9-network-performance-improvements.aspx I had made a suggestion for smartscreen filter reporting url page. When you report a url it has the url of the site you was on when you clicked report to smartscreen filter. But I think the url field should be editable cause users may have the malware url but clicked out of the webpage before clicking report url. So the url field should let us input the url of the badware site.Anonymous
March 18, 2011
posted from IE9.Anonymous
March 18, 2011
The comment has been removedAnonymous
March 18, 2011
Is there a machine image with IE9 that we can use from the Mac? VHD images can be converted to work with Parallels or Fusion. Can you guys publish one. Thanks.Anonymous
March 18, 2011
@John (the first one, not cambpell) You think you know what compatibility mode is, but you are completely wrong. It exists to make OLD websites work, not to make new websites look nicer. They've already made IE9 compatible, that's why they have compatibility mode for websites that aren't compatible with the modern web. If a site works on modern browsers, compatibilty mode isn't needed and will likely make it uglier.Anonymous
March 18, 2011
Hey, what's the logic behind different colors of tabs? Some of them are greenish, yellowish and others are bluish! also can i cusotmize these colors. you see i like gray tone. can ie9 reflects my kind of colors?Anonymous
March 18, 2011
The comment has been removedAnonymous
March 18, 2011
@ieblog, please consider solving the issue with the SVG+XML object on this page => sputnik.googlelabs.com/compare. The problem persists because the XML DOM is not ready for setProperty function call. The script crashes at: if(this.type == "script") doc = this._xml; ... else if(this.type == "object")doc = this._svgObject._xml; ... doc.setProperty("SelectionLanguage", "XPath"); <-- HERE more on this issue is at: connect.microsoft.com/.../unable-to-render-svg-xml-objectAnonymous
March 18, 2011
The comment has been removedAnonymous
March 18, 2011
Wow, that's fantastic! I never knew that. I love the way they handled tabs management in IE9. The Ctrl+Q and this feature are awesome. It would be great if we have a way to merge the headers of the tabs, that belong to single group, into one (which would be undoable)! like happens in Opera. Thanks :)Anonymous
March 18, 2011
This would help us buy some space in the open tabs area. Similarly, on Ctrl+Q screen if we can merge-expand the tabs belong to a group, that would again symbolize a clean UI example. Thanks IE-team :)Anonymous
March 19, 2011
The comment has been removedAnonymous
March 19, 2011
Microsoft: "one of our top goals for IE9 is enabling developers to utilize the same markup and code (HTML, CSS, and JavaScript) across all modern browsers." So does this mean that VBScript content will no longer run in any way shape or form in IE9? PS I'm hoping that is the case, not asking for extending legacy behaviorAnonymous
March 19, 2011
Funny Bug img688.imageshack.us/.../31829945.png Where is the underline (shortcut key) over right click of a link/image?Anonymous
March 20, 2011
Built in OpenSearch does not work, you can no longer add Microsoft Update Catalog or Microsoft Support search directly from the webpage http://yfrog.com/h3ri1pAnonymous
March 20, 2011
Claiming your support for standards, then talking about writing code to make things compatible with IE9, is not a support for standards.Anonymous
March 20, 2011
@Rob: It is, because in the past people coded specifically for IE, and those workarounds that were needed in the past are not needed any more with IE9.Anonymous
March 20, 2011
Does IE9, like IE8, refuse to render intranet sites in strict mode unless the browser settings are changed? This has got to be the worst thing about IE8. Undeniably evil.Anonymous
March 21, 2011
The comment has been removedAnonymous
March 21, 2011
@Klimax: this is irrelevant. No matter how bad old intranet apps are, or how hard it is to be compatible with them, is not excuse not to honor the X-UA-Compatible setting for intranet sites (I mean, it was created for things like that in the first place: avoiding compatibility issues by explicitly specifying which rendering mode you want). So unless there are thousands of old intranet apps that misuse the X-UA-Compatible setting (although it didn't exist before IE8), then it would have made a lot of sense to make it so intranet compatibility mode doesn't override it. Gotta love peeps like you and hAl, who try to defend every single thing MS does, whether it makes sense or not.Anonymous
March 21, 2011
The comment has been removedAnonymous
March 21, 2011
@Stifu: I think you're confused. The X-UA-Compatible declaration allows Intranet pages to run in IE9 Standards Mode, regardless of whether the "Display Intranet Sites in Compatibility View" option is enabled.Anonymous
March 21, 2011
The comment has been removedAnonymous
March 21, 2011
The comment has been removedAnonymous
March 22, 2011
@Stifu: Central management through Group policies + central list. Frameworks of odler version have also problems on IE9 mode so compat needed. (Already spotted trouble with old DHTMLX tree control on one of websites) ->drawAnonymous
March 28, 2011
Why is standards compliance touted so much and yet IE9 is still the lowest scorer of compliance of any modern browser? It seems that some of the missing features could have been easily added, such as the differeent types of input controls and validation attributes on some input controls.