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

Angle Brackets Are Not Allowed in the createElement Method

Internet Explorer 9 does not recognize angle brackets (< >) within the createElement method.

Automatic Binding of Binary Element Behaviors Does Not Work

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.

Content Attributes and DOM Expandos Are No Longer Connected

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.

Default User-Agent (UA) String Changed

The user agent (UA) string has changed in Internet Explorer 9 in several ways.

Dynamic VML Patterns May Not Work

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.

Global Object’s Properties Cleared When Window Is Orphaned

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.

JavaScript Protocols That Return Null

Internet Explorer 9 now follows HTML5 guidelines when handling JavaScript protocols that return "null".

Math Precision Differs in Windows Internet Explorer 9

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

MIME-Handling Change: text/css

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.

MIME-Handling Change: text/plain

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.

MIME-Handling Change: X-Content-Type-Options: nosniff

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.

Mixing Native XML and MSXML Objects

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 Elements Are Cloned

Overlapping formatting elements are cloned in Internet Explorer 9 to reduce ambiguity in the DOM.

Some Behavior-Connecting Methods Do Not Work in XML

styleSheet.title Is readonly in IE9 Mode

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.

Text Layout Uses Natural Metrics

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 and Font Sizing

Thai and East Asian text may look smaller in Internet Explorer 9 than in Internet Explorer 8 and earlier releases.

White Spaces Are Preserved in the Document Object Model

Any white space that you add to a webpage persists in the DOM.

XSLT Compatibility

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