Internet Explorer 10 Consumer Preview Minor Changes List

Continuing on from last year’s IE9 Minor Changes list, this post describes minor changes you can find in Internet Explorer 10 in the Windows 8 Consumer Preview.

There are many changes that I will not be covering, please do not mistake this for a comprehensive list, and please note that I'm deliberately skipping over the big feature improvements that will be discussed on the IEBlog. Improvements in IE10 that impact issues or features previously discussed on this blog can be found by searching for the tag BetterInIE10.

Without further ado, here are some IE10 Minor Changes:

  • Fragments are preserved when redirecting between sites, matching Firefox, Chrome, and updated standards.
  • Internet Explorer now ignores no-cache on back/forward navigations, as other browsers do and RFC2616 allows.
    • This also allows Conditional GET revalidation of no-cache resources.
    • Use no-store to prevent resource reuse in forward/back navigations.
  • XMLHttpRequest no longer fails with an “1223” error when a HTTP/204 is returned by a server.
  • XMLHttpRequest respects cache-busting flags when you use CTRL+F5 to reload a page.
  • XMLHttpRequest’s getResponseHeader method now returns a combined string containing all values in the event that multiple headers of the same name exist
  • XMLHttpRequest now supports CORS and COMET-streaming and more...
    • Note: In the Consumer Preview, there is a bug that you cannot make HTTP->HTTPS or FTP->HTTPS requests. This bug will be fixed in a future update to IE10.
  • IE10 now supports LINK REL=dns-prefetch. In IE9, we only would perform DNS prefetch for LINK REL=prefetch as the dns-prefetch token was not yet defined.
  • HTTPS Mixed Content warnings now automatically dismiss after a few seconds.
  • In IE10 Standards mode, the host and pathname DOM properties no longer return unexpected results.
  • Internet Explorer no longer lowers the Connections-Per-Host limit to 2 when a VPN or Modem connection is active. The limit stays at 6.
  • The CTRL+U keyboard combination opens the View Source window, matching other browsers.
  • CTRL+SHIFT+B toggles display of the Favorites bar
  • PNG gAMA chunks are supported on Windows 8.
  • The application/JSON MIME type is now registered, preventing IE from treating it as an unknown type (which leads to MIME-sniffing).
  • Download Manager now properly reports download speed properly even when server fails to return a Content-Length header.
    • In IE9, the download speed would be reported as slower and slower in such a case, even if the download proceeded at a constant rate.
  • SCRIPT DEFER behavior is fixed and now spec-compliant. (async is also supported)
  • Stylesheet limits dramatically increased.
  • For interop, the BASE element now supports relative paths.
    • Still, I beg of you, don’t try using a relative URL in your BASE element and avoid using the BASE element if you can possibly avoid it.
  • Prior to IE10, if a form's name/id conflicted with the name of a window's built-in property, the script reference would resolve to the form element. That no longer occurs.
  • On Windows 7 and below, if you attempted to ShellExecute a URL that used a custom protocol scheme, ShellExecute would first check to see if the protocol scheme was a registered Application Protocol. If not, it would check to see if the scheme was an IE-registered Asynchronous Pluggable Protocol. If so, IE would be invoked and passed the URL. In Windows 8, the fallback to check for an asynchronous pluggable protocol no longer occurs, so the browser will not launch unless the target protocol is a registered application protocol. To that end, the RES:// protocol is now a registered application protocol.
  • The option Use UTF8 for Mailto Links was removed from INETCPL. IE will now always pass Unicode to the ShellExecute API.
  • The availability of Application Protocols can now be detected from JavaScript using the msProtocols collection.
  • The window.navigator.appMinorVersion string is set to "BETA" to allow detecting this pre-release version of IE10.
  • The Do not save encrypted pages to disk option in the Internet Control Panel's Advanced Tab now behaves differently. Instead of trying to prevent HTTPS resources from being saved to disk, the option will delete cached-from-HTTPS resources from the cache when the browser is closed.
  • GIF Animation Frame-Rate limit increased; values as low as 20ms supported; lower values are pushed to 100ms.
  • IETldList.xml was removed; the Top Level Domain list is now statically compiled into a function in iertutil.dll.
  • The console.log method is defined, even when the F12 Developer tools are not opened.
  • In IE9, the ActiveX Filtering feature would block all ActiveX controls, even MSXML's controls like the ActiveX version of the XMLHTTPRequest object. In IE10, the ActiveX Filtering feature instead blocks all ActiveX controls that are not considered a part of the Web Platform.
    • The Web Platform controls list includes the MSXML controls, the Scripting.Dictionary object, and the HTC, XML, SVG, and XHTML objects.
    • These Web Platform controls are the only controls allowed in Metro IE.
    • This ActiveX Filtering change means that it is much less of a hassle to run with ActiveX Filtering enabled, because even legacy sites using bad patterns (like using the ActiveX XHR object in preference to the native version) still work correctly.

You should read about the preview over on the IEBlog and in the developers guide, and try out the TestDrive Demos. You should also check out the IE10 Compatibility Cookbook to learn more about features being obsoleted or changed in IE10. Lastly, see the IE10 Web Platform Features post for a deeper look at web platform APIs.

 

-Eric