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