Features Changed in Windows Internet Explorer 9
This section of the Windows Internet Explorer 9 Compatibility Cookbook includes those features that have changed from how they were implemented in other versions of the browser. In each case, the change itself is described and information regarding the steps you need to take to allow your applications to work with this change are given.
In this section
Topic | Description |
---|---|
Internet Explorer 9 does not recognize angle brackets (< >) within the createElement method. |
|
Internet Explorer 9 does not include the automatic binding capability to make Windows Internet Explorer more consistent with other browsers. |
|
Calling a Method with a Function Pointer without ".call" or ".bind" |
Previous versions of Internet Explorer supported caching a pointer to a method and then using the cached pointer to call the method. This support was removed in Internet Explorer 9 to increase interoperability with other browsers. |
In past versions of Internet Explorer, content attributes were represented on JavaScript objects as Document Object Model (DOM)] expandos. In Internet Explorer 9, this link between content attributes and DOM expandos has been severed in order to increase interoperability between Internet Explorer and other browsers. |
|
The user agent (UA) string has changed in Internet Explorer 9 in several ways. |
|
To support dynamic Vector Markup Language (VML) in IE9 Standards mode, the VML behavior must be attached to an element before any VML properties are assigned. |
|
Properties on the global object (window) are cleared when a window is orphaned. The properties are cleared to allow garbage collection of the orphaned window when no additional references to it are found. Additionally, timers stop firing and event propagation (inside the orphaned window) stops immediately. |
|
IE9 Standards Mode Does Not Support the arguments.caller Property |
The arguments.caller property is not supported in IE9 mode in Internet Explorer 9. |
Indirect 'eval' Function Calls Behave Differently in Internet Explorer 9 |
Calling eval methods indirectly (that is, other than by the explicit use of its name) inside a function produces different results in Internet Explorer 9 than it does in Windows Internet Explorer 8. |
Internet Explorer 9 Compatibility with Popular JavaScript Frameworks |
Many Internet Explorer 9 features were added or modified for improved standards compliance and interoperability with other web browsers. |
Internet Explorer 9 Handles Array Elements with a Large Index Differently |
Array elements with large indices are handled differently than in Internet Explorer 8. |
JavaScript Property Enumeration Differs in Internet Explorer 9 |
Due to the changes made in the JavaScript object model of Internet Explorer 9, JavaScript properties may be enumerated differently from how they are enumerated in Internet Explorer 8. |
Internet Explorer 9 now follows HTML5 guidelines when handling JavaScript protocols that return "null". |
|
Math precision differs from Internet Explorer 8 in certain edge cases. Chakra, the JavaScript engine in Internet Explorer 9 uses Streaming SIMD Extensions 2 (SSE2) if the platform supports them, which results in faster mathematical operations but also yields a difference in precision from the Microsoft JScript engine of Internet Explorer 8 |
|
Web servers send a HTTP response header named "Content-Type" that specifies the MIME-type of the file that is being sent. For security and standards-compliance reasons, style sheets should be delivered with the "text/css" MIME type. |
|
In IE9 mode, documents delivered with a "text/plain" MIME type will not be MIME-sniffed to another type. Documents will render or download as plain text only. |
|
The script and styleSheet elements will reject responses with incorrect MIME types if the server sends the response header "X-Content-Type-Options: nosniff". This is a security feature that helps prevent attacks based on MIME-type confusion. |
|
Internet Explorer 9 introduces the concept of native XML objects. Native XML objects can be rendered within a page and used with the same DOM APIs supported for HTML objects. |
|
OBJECT Fallback Is Included in DOM and Matched by window["name"] |
When an object element has fallback content (typically, an embed element), Internet Explorer 9 now parses this content and includes it in the DOM, whereas previous versions of Internet Explorer did not. |
Overlapping formatting elements are cloned in Internet Explorer 9 to reduce ambiguity in the DOM. |
|
In IE8 Standards mode and below you can change the value of a styleSheet object's title. In IE9 mode mode the write command will be ignored and the original value will remain. |
|
Table Object Model Is Now More Consistent with Other Browsers |
To improve consistency between Internet Explorer and other browsers, the IE9 mode includes several changes to the table object model. |
For text layout in IE9 mode, Internet Explorer 9 uses natural metrics instead of the Windows Graphics Device Interface (GDI) metrics that other Windows browsers use. |
|
Thai and East Asian text may look smaller in Internet Explorer 9 than in Internet Explorer 8 and earlier releases. |
|
Any white space that you add to a webpage persists in the DOM. |
|
In Internet Explorer 9, the processing of XML and Extensible Stylesheet Language Transformations (XSLT) files has been modified for improved standards compliance and interoperability with other browsers. |
Build date: 6/28/2013