This page contains some of the interesting IE bugs I've come across in working
with the community. These issues are known to the IE team, and may be
addressed in future releases. Some of these issues are extraordinarily
obscure or minor, and only of academic interest.
IE7 no longer opens FTP folders in Folder View by
default; it instead shows a HTML directory listing. This change
exposes an existing limitation in WinINET's FTP code. Specifically,
WinINET will erroneously CWD / after logging in, and that
will take the directory context out of the "user directory" if the server
had specified one.
IE0001: XMLHTTPRequest overly-aggressive caching
Internet Explorer's XMLHTTPRequest object may cache and reuse the response to a
GET request if the server does not send any headers prohibiting caching.
Workarounds: Either use the POST method, a random query string, or (best)
configure the server to send proper cache directives. Note: Using a
non-random query string alone is not enough to prevent caching.
While RFC2616 has always indicated that servers SHOULD
be explicit about expiration times, the
HTTPBIS draft appears to be dropping the requirement that URLs with
query strings are not generally cacheable.
IE0003: Slow scrolling with CSS background of Transparent PNG
Users may experience poor performance in IE7 when scrolling pages that
have large regions with a transparent PNG background, where the PNG used is
very small (e.g. 1px by 1px).
You can work around this performance problem by using a larger
(wider/taller) transparent PNG file.
IE0004: Slow scrolling with use of CSS :hover rules
Users may experience poor performance in IE7 when scrolling pages that
contain large numbers of elements with :hover rules.
IE0005: By-design. Setting
cookies fails when the hostname of the server contains an underscore.
This happens because
the machine name contains an underscore, technically prohibited by DNS rules
(LetterDigitsHyphen) and hence blocked. This issue is mostly relevant for
Intranet sites; most DNS systems will prohibit use of underscores in
hostnames due to the LDH rule. See
http://support.microsoft.com/kb/909264 for more info.
IE0006: By-design. Setting
more than 20 50 cookies per host results in the oldest cookie being lost.
In August 2007, the IE team increased the cookies
per domain limit from 20 to 50. For more information on this change,
and on IE cookie handling in general, check out the
IEBlog announcement.
WinINET meets the minimum cookie
recommendations in the standards. See
http://support.microsoft.com/kb/306070 for the size and count limits for
cookies in IE.
IE0007: "Operation Aborted" error message when a page finishes
loading
This happens because you have some script inside a child container
element trying to modify a container element in its parent chain. See
http://support.microsoft.com/default.aspx/kb/927917 for more info.
This issue was partially resolved for IE8; see
http://blogs.msdn.com/ie/archive/2008/04/23/what-happened-to-operation-aborted.aspx
IE0009: Incorrect Mixed Content warning on pages that use the
Javascript Protocol
Repro
https://www.fiddler2.com/test/jscriptsrc.htm
Expect: No mixed content dialog.
Actual: Mixed content dialog.
Analysis: IE does not consider the Javascript URI protocol
secure for the purposes of HTTPS.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- Why you would want to do this, I have no idea.
http://www.vivabit.com/bollocks/2006/06/21/a-dom-ready-extension-for-prototype
-->
<script defer="true" src="javascript:void(0);"></script>
</head>
<body>
This page does not do any unsecure downloads and should be considered
secure.
</body>
</html>
Note: IE5/6 additionally encounters the Mixed Content warning when the URI
about:blank is used. That additional limitation was
resolved in IE7 Beta 3.
IE0010: VML cannot be used on Strict mode pages
When an HTML page uses the !DOCTYPE element in Windows Internet Explorer
7 or in Microsoft Internet Explorer 6, a Vector Markup Language (VML)
element is not displayed in strict mode. Workaround available, see:
http://support.microsoft.com/default.aspx/kb/932175
IE0012: IE Travellog broken when navigating back/away from a page
with a large POST form
If there is a form input field with a value longer than 523,659
characters, when you navigate away from the page, IE may clear the current
session's travellog (similar to history), disabling the back and forward
buttons.
Repros in IE6 & IE7.
IE0013: IE XMLHTTP implementation turns 204 response code into
bogus 1223 status code
Described here
http://dev.jquery.com/ticket/1450, the XMLHTTPRequest object in IE will
return a status code of 1223 and drop all response headers if the server returns a
HTTP/204 No Content response.
This is caused by an internal design artifact of URLMon (binding returns
Operation Aborted (1223) if the server returns no content in response to a
request).
Repros in IE9 and earlier. Update:
Fixed in IE10.
Workaround: Treat "1223" as equivalent to a 204. Note:
HTTP headers remain unavailable in this case.
IE0002: Fragment lost when FILE URL passed on command line
Internet Explorer 7 no longer successfully
tracks the fragment when IE is started with a URL on the command line.
For instance, iexplore.exe
file://C:/somepage.htm#fragment is started from
the command line, IE navigates to somepage, but not to the
bookmark in the page named fragment.
IE0011: Internet Explorer may send a CRLF after a HTTP/1.1 POST
body, without accounting for it in Content-Length
Internet Explorer may send 2 extra bytes trailing a post body if the
server is believed (often incorrectly) to potentially be a HTTP/1.0 server.
This issue is mentioned here:
http://support.microsoft.com/?id=816405.
This issue was fixed in Internet Explorer 8.