What's New in Internet Explorer 8

This topic introduces the platform features of Windows Internet Explorer 8. Click here to download Internet Explorer 8 for Windows XP, Windows Vista with Service Pack 1 (SP1), Windows Server 2003, or Windows Server 2008. The currently released version of Windows 7 includes Internet Explorer 8.

Note  Internet Explorer 8 is installed as a system update. To uninstall Internet Explorer, click View installed updates in the Tasks pane of the Add and Remove Programs control panel, then double-click Windows Internet Explorer 8 in the list of updates.

This topic contains the following sections:

  • 64-Bit Downloads 
  • Accelerators 
  • Accessibility and ARIA 
  • ActiveX Improvements 
  • AJAX Enhancements 
  • CSS Compliance 
  • Developer Tools 
  • Document Compatibility Mode 
  • DOM Storage 
  • HTML and DHTML Improvements 
  • Mutable DOM Prototypes 
  • Protected Mode Improvements 
  • RSS Features 
  • Search Suggestions 
  • Security and Privacy 
  • Selectors API 
  • Web Slices 
  • Zoom Enhancements 
  • Related Topics

64-Bit Downloads

Internet Explorer now supports download of files whose size exceeds 4 gigabytes (GB). Users of Internet Explorer 8 can take advantage of this functionality by default. Third-party extensions need to implement IBindStatusCallbackEx and return BINDF2_READ_DATA_GREATER_THAN_4GB from their GetBindInfoEx callback method. Download progress is reported through OnProgress by using the BINDSTATUS_64BIT_PROGRESS flag. These callback methods are supported by IMoniker::BindToObject and IMoniker::BindToStorage.

Accelerators

Because the Internet has become increasingly interactive, Internet Explorer 8 makes it easier to interact with content on a Web page. Accelerators are a type of browser extensions that act on Web page content by sending the information to a service of the user's choosing. Services then perform actions on the content (such as "email" or "bookmark") or provide more information ("translate" or "map"). Users can install and access Accelerators from the browser shortcut menu, making their browsing experience more efficient.

For more information, see:

Accessibility and ARIA

In response to the increase in UI complexity on the Web, the Web Accessibility Initiative group has defined a roadmap for Accessible Rich Internet Applications (ARIA), which introduces ways for Web site authors to define how custom UI elements are accessed. ARIA accomplishes this by defining a set of HTML attributes that map back to common UI controls. As a result, users with disabilities can access Web sites with a rich interaction model. By exposing ARIA through the Microsoft Active Accessibility API in Internet Explorer 8, assistive technologies that already use Microsoft Active Accessibility can also support ARIA easily.

  • The alt attribute is no longer displayed as the image tooltip when the browser is running in IE8 Standards mode. Instead, the target of the longDesc attribute is used as the tooltip if present; otherwise, the title is displayed. The alt attribute is still used as the Microsoft Active Accessibility name, and the title attribute is used as the fallback name only if alt is not present.
  • ARIA attribute syntax is the same in both IE8 mode and IE7 Standards mode. Earlier releases of Internet Explorer 8 required a legacy property syntax when setting ARIA attributes in compatibility view. For cross-browser compatibility, always use the WAI-ARIA attribute syntax to access and modify ARIA properties, for example object.setAttribute("aria-valuenow", newValue).

For more information, see:

ActiveX Improvements

Internet Explorer 8 offers greater control over your Microsoft ActiveX installation and debugging.

  • Per-site ActiveX — Nearly half of all ActiveX controls meant to run on only one site do not use any form of site locking technology. This means that many controls are not secure by default and could be misused by malicious Web sites. To prevent this in Internet Explorer 8, users can decide whether to allow ActiveX controls to run on a site-by-site basis. For more information, see Per-Site ActiveX Controls.
  • Non-administrator installation — Standard users (those without administrator privileges) can install ActiveX controls to their user profiles without a UAC prompt or administrator involvement of any kind. In the event that a user does install a malicious ActiveX control, only the user profile is affected; the system itself is not compromised. For more information, see Non-Admin ActiveX Controls.
  • ActiveX Logging — Internet Explorer 8 can report the most common installation and instantiation failures, such as security restrictions preventing an ActiveX control from being instantiated properly. ActiveX logging is performed the same as other Internet Explorer compatibility logging, by using the Internet Explorer Application Compatibility Toolkit. For more information, see Using the Internet Explorer Compatibility Test Tool.

AJAX Enhancements

Asynchronous JavaScript and XML (AJAX) is changing the way Web applications are built. Internet Explorer 8 brings new functionality to the XMLHttpRequest object that enables AJAX applications.

  • AJAX Navigation — Client requests that do not trigger traditional Web page navigation can now update the hash property, which allows the Back button to function appropriately.
  • Connection Events — Where data reliability is a priority, AJAX applications can choose to save data locally if they are disconnected from a network. See onoffline, ononline.
  • Connections Per Server —  Internet Explorer 8 raises the number of connections per host by default, for a potential drop in Web page load times and increased parallelism in AJAX scenarios.
  • Cross-document Messaging — Documents in different domains can securely exchange data using postMessage. Documents that receive messages listen for the onmessage event.
  • Cross-domain Request (XDR) — To allow developers to more safely combine services from different Web sites, the XDomainRequest object restricts and secures communication between untrusted modules in a Web page. The browser shields the user from potential threats while allowing powerful cross-site interaction.
  • Timeout Requests —  Internet Explorer 8 adds the ability to set a timeout property on server requests.
  • Sanitize HTML — Easily remove event properties and script from HTML fragments with window.toStaticHTML.
  • Native JSON Support — JavaScript Object Notation (JSON) objects (used widely in AJAX scenarios) can now be serialized and parsed directly in Microsoft JScript. Use JSON.stringify to transform object data to a string and JSON.parse to revive JSON-formatted text. You can also fine-tune your object's output by implementing a toJSON method. These new methods are much faster than script, and safer than using eval.

For more information, see:

The following videos are also available:

CSS Compliance

  • Table Layout — For many years, tables were the preferred layout mechanism on the Internet. With Internet Explorer 8, it is now possible to apply table-style formatting to non-table elements using the display attribute. In practice, CSS tables are more permissive than HTML markup; tables created with CSS rules will nest elements to become valid, whereas tables created with HTML will close containers to avoid unexpected nesting.
  • Data URI — This mechanism allows a Web page author to embed small entities directly within a Uniform Resource Identifier (URI), rather than using the URI to identify a location from which to retrieve the entity. This is primarily of interest for small images (such as bullets) used within CSS or layout. See data Protocol for an example.
  • Generated Content — Web page authors can render content that does not come from the document tree:
    • :before and :after  — In conjunction with the new content rule, authors can describe dynamic content to appear before and after most elements.
    • counter-reset and counter-increment  — Automatically insert numbers into your document.
    • quotes  — Easily insert language-dependent quote characters or smart quotes.
  • outline  — Enables elements to be highlighted without affecting their size. The outline is a shorthand property for outline-color, outline-style, and outline-width.
  • Printing — The following properties have been added:
    • page-break-inside  — Avoid page breaks inside an element's box; if necessary, Internet Explorer will move the element to the following printed page.
    • widows and orphans  — Control how many lines appear at the bottom and top of each printed page.
  • Additional pseudo classes — The following pseudo classes are supported by Internet Explorer 8:
    • :lang(C)  — Selectors can match an element based on the lang attribute of an element or one of its ancestors. The default language of the Web page is set on the html element.
    • :focus  — Applies while an element has the input focus.
  • Browser-specific attributes —  Cascading Style Sheets (CSS) properties that apply only to Internet Explorer are named with the -ms- prefix, such as -ms-writing-mode.

For more information, see:

The following videos are also available:

For CSS test cases used by Internet Explorer, see Windows Internet Explorer Testing Center.

Developer Tools

The built-in Developer Tools of Internet Explorer 8 expose the internal representation of Web pages to help research and resolve problems that involve HTML, CSS, and script. Some features might be familiar to users of the Developer Toolbar released as an add-on to previous versions of the browser,

  • CSS Tool — Display various rules defined by style sheets loaded by your Web page.
  • Script Debugging — The built-in lightweight debugger enables you to set breakpoints and to step through client-side script without leaving Internet Explorer.
  • Script Profiler — Visually determine where your script is taking most of its time.
  • Version Mode Switching — Switch into different browser modes to test content for standards compliance.

For more information, see:

The following videos are also available:

Document Compatibility Mode

With full CSS 2.1, strong HTML 5 support, and interoperability fixes for the Document Object Model (DOM), Internet Explorer 8 has made deliberate investments in a new layout engine. The highest level of standards support is on by default for sites that specify a strict !DOCTYPE. Web site authors can select the highest compatibility with Internet Explorer 7 by using the following meta tag:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 

The Emulate IE7 button of Internet Explorer 8 Beta 1 was replaced by the Compatibility View button Compatibility View button next to the Address bar. Click the button to quickly change between browser compatibility modes; you do not need to restart the browser.

For more information, see:

For setting up compatibility mode on a server, see:

The following videos are also available:

DOM Storage

The ability to store and retrieve large amounts of data directly to a user's hard disk is important to browser-based applications that want to extend their reach beyond client-server interactions. Local storage is also comes in handy when disconnected from the Internet, and synchronize local changes when an active Internet connection returns. Scriptable online and offline connectivity events fire when connection status changes.

For more information, see:

HTML and DHTML Improvements

The new HTML 4.01 implementation is now much more interoperable. The improvements include:

  • The object tag image fallback is interoperable with other browsers. For example, an object tag without dimensions is now the same size as the image, instead of 0 x 0 pixels.
  • The button element submits its value attribute instead of its innerHTML, which means you can use the button element for cross-browser FORM scenarios.
  • The getElementById method is now case-sensitive, and it no longer incorrectly performs searches using the NAME attribute.
  • The setAttribute method is now case-insensitive; you do not need to use "camel case" (for example, "camelCaseWord") to specify attributes. It also correctly identifies HTML attributes such as CLASS and FOR.

For more information, see:

The following videos are also available:

Mutable DOM Prototypes

JScript now offers a way to override existing object methods and create new methods that apply immediately to all instances of objects. This tight binding allows scripts to manipulate DOM objects natively, as if they were actually JScript objects. By providing native DOM prototypes for elements, circular references, such as those sometimes created between Internet Explorer Component Object Model (COM) infrastructure and the scripting engine, can be managed directly by the JScript engine to alleviate hard-to-detect memory leaks.

For more information, see:

Protected Mode Improvements

In Windows Vista, Protected Mode restricts file writes to low-integrity locations, including cookies. In Internet Explorer 8, medium-integrity applications can access low-integrity cookies without user interaction, by using IEGetProtectedModeCookie and IESetProtectedModeCookie. As always, applications that use cookies downloaded from the Internet should assume that these cookies contain malicious data.

With Internet Explorer 8, you can control the browser after launching it from a medium-integrity process, even if it opens in Protected Mode. After invoking Navigate2, the NewProcess event will return a reference to the new WebBrowser object that has just opened.

RSS Features

  • Authenticated Feeds — the Windows RSS Platform can now perform authentication without user interaction. User name and password can be set in the Properties dialog box of the feed.
  • Effective ID — A hash algorithm is used to produce a unique ID for feed items. You can use this value to synchronize an item's read and unread states between computers, or to compare items in the Common Feed List with items stored by other programs.

For more information, see:

Search Suggestions

Internet Explorer 8 significantly improves the search experience of Internet Explorer 7 with the following features:

  • Search Suggestions — Help users search for the right term as quickly as possible. Both JSON and an extended OpenSearch XML format are supported.
  • Visual Suggestions — Integrate image search and other descriptive content.
  • Improved User Experience — Using the Quick Pick drop-down list box and the Accelerator shortcut menu, you can easily select and switch between installed search providers. Also, using History Search, automatically find recently viewed Web pages without leaving the search box.

To learn how to integrate your search provider with Internet Explorer 8, see Search Provider Extensibility in Internet Explorer and (Video) How Do I: Search Suggestions Providers.

Security and Privacy

The following features help to protect your security and privacy when browsing the Web:

  • Clickjacking Defense: Some hackers try to trick users into clicking buttons that appear to perform safe or harmless functions, but instead perform unrelated tasks. Clickjackers embed malicious code or "redress" the user interface by using transparent frames that overlay specific UI elements with misleading text and images. To help prevent clickjacking, Web site owners can send an HTTP response header named X-Frame-Options with HTML pages to restrict how the page may be framed.

    X-Frame-Options: Deny
    

    If the X-Frame-Options value contains the token Deny, Internet Explorer 8 prevents the page from rendering if it is contained within a frame. If the value contains the token SameOrigin, Internet Explorer will not render the page if the top level-browsing-context differs from the origin of the page containing the directive. Blocked pages are replaced with a "This content cannot be displayed in a frame" error page.

  • Cross-site Scripting (XSS) Filter: This new Internet Explorer 8 feature makes "reflected (Type I) XSS" vulnerabilities harder to exploit. Script can be reflected when a portion of the HTTP request is used to generate the server's response, allowing malicious script in the request to run with the same level of access as the rest of the page. The XSS Filter monitors all requests and responses flowing through the browser. When the filter detects script in a cross-site request, it identifies and disables the script if it is replayed in the server's response. When this happens, a "Internet Explorer modified this page to prevent a potential cross-site scripting attack" message is displayed. Web developers who wish to disable the filter for their content can set the following HTTP header.

    X-XSS-Protection: 0
    
  • Delete Browsing History: As a user browses the Web, Internet Explorer stores user preferences, typed data, and information about places visited. It is possible that some extensions are doing the same thing. Previously, there was no way to for an add-on to know when a user cleared the Temporary Internet Files (TIF) folder or removed cookies and history. Now, by implementing the IDeleteBrowsingHistory interface, extensions can be notified when the user clears the browser cache, which enables them to delete their own stored data at the same time.

  • InPrivate Filtering: It's possible for Web sites to track users without using cookies. Internet Explorer 8 can ensure that a user's browsing habits are not disclosed by blocking content from and preventing communication with third-party content (images and script from another Web site that are incorporated into the Web page being viewed). InPrivate Filtering keeps a record of third-party items while a user browses, and (when enabled by the user) can automatically block Web sites that have provided third-party content to more than 10-30 first-party sites. Add-on and toolbar developers can detect whether the user has enabled InPrivate Filtering by calling IEInPrivateFilteringEnabled, or with script as follows:

    var enabled = window.external.InPrivateFilteringEnabled(); 
    

For more information, see:

The following videos are also available:

Selectors API

Use the power of CSS selectors to rapidly locate DOM elements. The API introduces two methods, querySelector and querySelectorAll, that take a selector (or group of selectors) and return the matching DOM elements. With these methods, it is easier to match a set of element nodes based on specific criteria. The Selectors API provides significantly faster performance over non-native implementations.

For more information, see:

Web Slices

Web Slices enable users to subscribe to specially marked content on a Web page. When the content changes, the user receives a notification on the Favorites bar where the content can be previewed without additional navigation.

For more information, see:

Zoom Enhancements

Internet Explorer 8 provides a higher-quality, more predictable and persistent zooming experience than does Internet Explorer 7. In addition to introducing more persistent zoom states, Internet Explorer 8 eliminates horizontal scroll bars for the majority of mainstream scenarios. New windows, dialogs, and pop-up windows automatically inherit the zoom level of their parent.