User:Tom-/Wikipedia IE issues

From Wikipedia, the free encyclopedia

This is a tracking page for a few IE issues I'm debugging (some Wikipedia-specific, some MonoBook-specific, some MediaWiki specific).

CSS

  • IE always tries to load http://en.wikipedia.org/style/monobook/null?"{ - bug 622, with a fix
    • Loaded due to use of hack in IEFixes.css
      • As far as I can see, IEFixes.css is pointless - we can just use conditional comments in <head>:
        • <!--[if IE 5.0]><link rel="stylesheet" href="/style/monobook/IE50Fixes.css" /><![endif]-->
          <!--[if IE 5.5]><link rel="stylesheet" href="/style/monobook/IE55Fixes.css" /><![endif]-->
          <!--[if IE 6.0]><link rel="stylesheet" href="/style/monobook/IE60Fixes.css" /><![endif]-->
    • Initially returns 200 OK, but wastes a request (although only returns 283 bytes)
    • Cached on subsequent page loads so not a huge issue
  • Problems with small browser window and page tabs. Bug 288, should be easily fixable with a hack or two.
    • Fix: use display:inline-block to display tabs, patched IE60Fixes.css submitted

Images

  • Images currently redirect (302 Moved Temporarily) to upload.wikipedia.org, which causes problems with caching.
    • IE always re-checks the redirect, but doesn't re-download the entire image - but this wastes many requests and means images are never displayed instantly from cache.
    • IE doesn't seem to take notice of Expires or Cache-Control headers in tests, although they should indicate if the response is cachable.

Slow loading

Bit of a complicated one. IE won't render anything on a page until all external CSS has been downloaded. This means it's important to load all CSS as soon as you can, or there's a noticable delay in rendering if CSS isn't cached.

MediaWiki loads /w/wiki.phtml?title=-&action=raw&gen=css which then redirects to another CSS file - but IE sends HTTP requests for all images and other content before the URL for the other CSS file becomes known, meaning all images have to download before the page is rendered at all.

If that double-@import could be killed off, IE would render the first page loaded much, much quicker than it currently does.


Not a full list - more to come...