It’s just data

Prepping for IE9

Sylvain Galineau: As the specification nears Recommendation and browser vendors are working on their final implementations and testcases for submission to the W3C, we recommend that new content always include a border-radius declaration without vendor prefix.

It turns out that I hadn’t consistently done that on this blog.  That has now been fixed.  This brings the list of features that this weblog uses that IE9 does not (yet) support: box-shadow, border-style: outset, css gradients.  That’s a remarkably short list.

Not only that, but Sjoerd’s workaround is no longer necessary for HTML5 elements.

There are a few glitches in SVG, most noticeably in resizing.  My images tend to use a 1-1 ratio involving non-negative coordinates, so I’m mostly immune.  You can see some issues on my archives page where my images are not resized appropriately.  And the knot does not show up at all in the lower right hand corner of this page.

Checking the headers sent by IE9 Platform Preview:

HTTP_USER_AGENT Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3)
HTTP_ACCEPT */*

That’s essentially no different than IE8 sends by default:

HTTP_USER_AGENT Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3)
HTTP_ACCEPT image/gif, image/jpeg, image/pjpeg, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*

And absolutely identical to what IE8 sends when you select Open in New Tab.

This previously led me to add the following to my .htaccess file:

# MSIE accomodation: open in new tab/window
RewriteCond %{HTTP_ACCEPT} ^\*/\*$
RewriteCond %{HTTP_USER_AGENT} MSIE
RewriteCond %{HTTP_USER_AGENT} !chromeframe
RewriteRule ^([^.]*|.*\.html\d?)$ - [T=text/html;charset=utf-8]

On one hand it means that there is no way for me to serve application/xhtml+xml to IE9 without affecting users of prior releases of IE.  On the other hand, it means that I’m currently serving SVG as text/html to IE... and it is (mostly) displaying it just fine.  Very cool.

It does mean that Google AdSense would display, but for now I’ve disabled such for IE9 users by checking for document.createElementNS at runtime.  This required a template change so it will take a week or so to propagate through my site.

Using border-radius does mean that I can drop my use of background SVG images in Opera, so I have done so.  This results in a noticeable speedup in scrolling operations.  Opera continues to not support border-radius on entry fields on buttons.


How is */* identical to the subset of formats IE8 claims to support?  I think IE9 should send application/xhtml+xml in its HTTP_ACCEPT.  See this bug

Posted by Jeff Schiller at

I didn’t say identical.  IE8, by default, says: I support the following..., and at the end it says essentially “and everything else”.

IE8, when you click on Open In New Tab will simply send */*, which is identical to what the IE9 Platform Preview sends.

I have no insight into the thinking of the IE9 team, but I will presume that the final release of IE9 will send a different set of headers than what IE8 sends.  And furthermore, it is possible that the thinking is that if the Platform Preview sends identical headers to what IE8 currently sends then they will not have to deal with people who prematurely change their servers based on a preview and are broken by the final release.  But again, I must stress: I have no way of knowing if this is their thinking at this time.

Posted by Sam Ruby at

Ah, I should have scrolled to the right in that div.

Posted by Jeff Schiller at

Woo Hoo! I can scroll your pages in Opera again without killing my cpu.

Posted by Michael A. Puls II at

IE9’s User Agent String:
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
[link]

Posted by Alexandre at

IE9’s User Agent string is good news.  I’m also looking forward to finding out what the Accept header will look like.  I agree with the bug report that Jeff linked to, even though I can’t see it.

Posted by Sam Ruby at

Serving XHTML to IE9

Dean Hachamovitch:  The biggest difference I see between browsers is IE9’s lack of support for SVG width, height, and clipPath. The only difference in markup that I am sending to various browsers is the MIME type... [more]

Trackback from Sam Ruby

at

Add your comment