<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: internet-explorer</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/internet-explorer.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2020-01-24T04:43:16+00:00</updated><author><name>Simon Willison</name></author><entry><title>2020 Web Milestones</title><link href="https://simonwillison.net/2020/Jan/24/2020-web-milestones/#atom-tag" rel="alternate"/><published>2020-01-24T04:43:16+00:00</published><updated>2020-01-24T04:43:16+00:00</updated><id>https://simonwillison.net/2020/Jan/24/2020-web-milestones/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://mike.sherov.com/2020-web-milestones/"&gt;2020 Web Milestones&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
A lot of stuff is happening in 2020! Mike Sherov rounds it up—highlights include the release of Chromium Edge (Microsoft’s Chrome-powered browser for Windows 7+), Web Components supported in every major browser, Deno 1.x, SameSite Cookies turned on by default (which should dramatically reduce CSRF exposure) and Python 2 and Flash EOLs.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://twitter.com/mikesherov/status/1220562604348846081"&gt;@mikesherov&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/chrome"&gt;chrome&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/csrf"&gt;csrf&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/flash"&gt;flash&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web"&gt;web&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/deno"&gt;deno&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/samesite"&gt;samesite&lt;/a&gt;&lt;/p&gt;



</summary><category term="chrome"/><category term="csrf"/><category term="flash"/><category term="internet-explorer"/><category term="javascript"/><category term="python"/><category term="web"/><category term="deno"/><category term="samesite"/></entry><entry><title>What data structures are used to implement the DOM tree?</title><link href="https://simonwillison.net/2013/Feb/17/what-data-structures-are/#atom-tag" rel="alternate"/><published>2013-02-17T13:31:00+00:00</published><updated>2013-02-17T13:31:00+00:00</updated><id>https://simonwillison.net/2013/Feb/17/what-data-structures-are/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;em&gt;My answer to &lt;a href="https://www.quora.com/What-data-structures-are-used-to-implement-the-DOM-tree/answer/Simon-Willison"&gt;What data structures are used to implement the DOM tree?&lt;/a&gt; on Quora&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You may enjoy this post from Hixie back in 2002 which illustrates how different browsers deal with incorrectly nested HTML. IE6 used to create a tree that wasn't actually a tree! &lt;span&gt;&lt;a href="http://ln.hixie.ch/?count=1&amp;amp;start=1037910467"&gt;http://ln.hixie.ch/?start=103791...&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/chrome"&gt;chrome&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/data-structures"&gt;data-structures&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/firefox"&gt;firefox&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/html"&gt;html&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/opera"&gt;opera&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/webkit"&gt;webkit&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/quora"&gt;quora&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/firefoxos"&gt;firefoxos&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="chrome"/><category term="data-structures"/><category term="firefox"/><category term="html"/><category term="internet-explorer"/><category term="opera"/><category term="webkit"/><category term="quora"/><category term="firefoxos"/></entry><entry><title>Quoting Alex Russell</title><link href="https://simonwillison.net/2010/Oct/11/ie8/#atom-tag" rel="alternate"/><published>2010-10-11T23:01:00+00:00</published><updated>2010-10-11T23:01:00+00:00</updated><id>https://simonwillison.net/2010/Oct/11/ie8/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://infrequently.org/2010/10/ie-8-is-the-new-ie-6/"&gt;&lt;p&gt;Why, for a decade of experience, can we not seem to see the IE 8 zombie coming? It’s not like it’s going to be some big surprise that unless we do something different, we’ll still be supporting it in 2015. That’s right: in 2015, you’ll still be thinking about a browser that doesn’t support canvas or video and doesn’t even have a JITing JS engine.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://infrequently.org/2010/10/ie-8-is-the-new-ie-6/"&gt;Alex Russell&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ie8"&gt;ie8&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/recovered"&gt;recovered&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="ie8"/><category term="internet-explorer"/><category term="recovered"/></entry><entry><title>Internet Explorer Platform Preview Guide for Developers</title><link href="https://simonwillison.net/2010/Mar/16/preview/#atom-tag" rel="alternate"/><published>2010-03-16T18:36:38+00:00</published><updated>2010-03-16T18:36:38+00:00</updated><id>https://simonwillison.net/2010/Mar/16/preview/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/ie/ff468705.aspx"&gt;Internet Explorer Platform Preview Guide for Developers&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Lots of SVG and CSS3 stuff, no mention of canvas here either though.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://ie.microsoft.com/testdrive/info/ReleaseNotes/Default.html"&gt;IE testdrive preview release notes&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/canvas"&gt;canvas&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/css3"&gt;css3&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/html5"&gt;html5&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ie9"&gt;ie9&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/microsoft"&gt;microsoft&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/svg"&gt;svg&lt;/a&gt;&lt;/p&gt;



</summary><category term="canvas"/><category term="css3"/><category term="html5"/><category term="ie9"/><category term="internet-explorer"/><category term="microsoft"/><category term="svg"/></entry><entry><title>An Early Look At IE9 for Developers</title><link href="https://simonwillison.net/2010/Mar/16/ie9/#atom-tag" rel="alternate"/><published>2010-03-16T18:11:25+00:00</published><updated>2010-03-16T18:11:25+00:00</updated><id>https://simonwillison.net/2010/Mar/16/ie9/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/ie/archive/2009/11/18/an-early-look-at-ie9-for-developers.aspx"&gt;An Early Look At IE9 for Developers&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Surprisingly, no mention of SVG or canvas and only a note in passing about HTML 5.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://www.zeldman.com/"&gt;Jeffrey Zeldman&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/canvas"&gt;canvas&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/html5"&gt;html5&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ie9"&gt;ie9&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/microsoft"&gt;microsoft&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/svg"&gt;svg&lt;/a&gt;&lt;/p&gt;



</summary><category term="canvas"/><category term="html5"/><category term="ie9"/><category term="internet-explorer"/><category term="microsoft"/><category term="svg"/></entry><entry><title>Internet Explorer: Global Variables, and Stack Overflows</title><link href="https://simonwillison.net/2010/Mar/2/recursion/#atom-tag" rel="alternate"/><published>2010-03-02T09:21:26+00:00</published><updated>2010-03-02T09:21:26+00:00</updated><id>https://simonwillison.net/2010/Mar/2/recursion/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://cappuccino.org/discuss/2010/03/01/internet-explorer-global-variables-and-stack-overflows/"&gt;Internet Explorer: Global Variables, and Stack Overflows&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
An extremely subtle IE bug—if your recursive JavaScript function is attached directly to the window (global) object, IE won’t let you call it recursively more than 12 times.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/bugs"&gt;bugs&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/recursion"&gt;recursion&lt;/a&gt;&lt;/p&gt;



</summary><category term="bugs"/><category term="internet-explorer"/><category term="javascript"/><category term="recursion"/></entry><entry><title>Internet Explorer Cookie Internals (FAQ)</title><link href="https://simonwillison.net/2010/Feb/26/cachebusting/#atom-tag" rel="alternate"/><published>2010-02-26T12:25:24+00:00</published><updated>2010-02-26T12:25:24+00:00</updated><id>https://simonwillison.net/2010/Feb/26/cachebusting/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/ieinternals/archive/2009/08/20/WinINET-IE-Cookie-Internals-FAQ.aspx"&gt;Internet Explorer Cookie Internals (FAQ)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Grr... IE 6, 7 and 8 don’t support the max-age cookie argument, forcing you to use an explicit expiry date instead. This appears to affect the cache busting cookie pattern, where you set a cookie to expire in 30 seconds for any user who posts content and use the presence of that cookie to skip caches and/or send their queries to a master instead of slave database. If you have to use expires, users with incorrect system clocks may get inconsistent results. Anyone know of a workaround?


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/cachebusting"&gt;cachebusting&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/caching"&gt;caching&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/cookies"&gt;cookies&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;&lt;/p&gt;



</summary><category term="cachebusting"/><category term="caching"/><category term="cookies"/><category term="internet-explorer"/></entry><entry><title>Deep Tracing of Internet Explorer</title><link href="https://simonwillison.net/2009/Nov/18/tracing/#atom-tag" rel="alternate"/><published>2009-11-18T08:06:47+00:00</published><updated>2009-11-18T08:06:47+00:00</updated><id>https://simonwillison.net/2009/Nov/18/tracing/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://ejohn.org/blog/deep-tracing-of-internet-explorer/"&gt;Deep Tracing of Internet Explorer&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
dynaTrace Ajax looks like an awesome tool. For once, Internet Explorer has a development tool that other browsers can be jealous of.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/ajax"&gt;ajax&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/debugging"&gt;debugging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dynatraceajax"&gt;dynatraceajax&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/john-resig"&gt;john-resig&lt;/a&gt;&lt;/p&gt;



</summary><category term="ajax"/><category term="debugging"/><category term="dynatraceajax"/><category term="internet-explorer"/><category term="javascript"/><category term="john-resig"/></entry><entry><title>Quoting Microsoft spokesperson</title><link href="https://simonwillison.net/2009/Sep/24/microsoft/#atom-tag" rel="alternate"/><published>2009-09-24T16:49:14+00:00</published><updated>2009-09-24T16:49:14+00:00</updated><id>https://simonwillison.net/2009/Sep/24/microsoft/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://arstechnica.com/microsoft/news/2009/09/microsoft-google-chrome-frame-makes-ie-less-secure.ars"&gt;&lt;p&gt;Given the security issues with plugins in general and Google Chrome in particular, Google Chrome Frame running as a plugin has doubled the attach area for malware and malicious scripts. This is not a risk we would recommend our friends and families take.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://arstechnica.com/microsoft/news/2009/09/microsoft-google-chrome-frame-makes-ie-less-secure.ars"&gt;Microsoft spokesperson&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/microsoft"&gt;microsoft&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/chrome"&gt;chrome&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/chromeframe"&gt;chromeframe&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/plugins"&gt;plugins&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;&lt;/p&gt;



</summary><category term="microsoft"/><category term="google"/><category term="chrome"/><category term="chromeframe"/><category term="security"/><category term="plugins"/><category term="internet-explorer"/></entry><entry><title>More technical details about Google Chrome Frame</title><link href="https://simonwillison.net/2009/Sep/23/jimray/#atom-tag" rel="alternate"/><published>2009-09-23T22:20:57+00:00</published><updated>2009-09-23T22:20:57+00:00</updated><id>https://simonwillison.net/2009/Sep/23/jimray/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://jimray.tumblr.com/post/194793633/more-technical-details-about-google-chrome-frame"&gt;More technical details about Google Chrome Frame&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
It’s implemented as a Browser Helper Object, uses IE’s cookies, history and password-remembering, includes the WebKit developer tools and appends “chromeframe” to the regular IE user agent string—though not apparently the Chrome Frame version itself.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/bho"&gt;bho&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/chrome"&gt;chrome&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/chromeframe"&gt;chromeframe&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;&lt;/p&gt;



</summary><category term="bho"/><category term="chrome"/><category term="chromeframe"/><category term="google"/><category term="internet-explorer"/></entry><entry><title>Quoting Charles Miller</title><link href="https://simonwillison.net/2009/Sep/23/enterprise/#atom-tag" rel="alternate"/><published>2009-09-23T15:08:18+00:00</published><updated>2009-09-23T15:08:18+00:00</updated><id>https://simonwillison.net/2009/Sep/23/enterprise/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://fishbowl.pastiche.org/2009/09/23/google_you_clever_bastards/"&gt;&lt;p&gt;Ask browser users, and they'll tell you the overwhelming reason why they can't upgrade to a more modern, standards-compliant browser is because their work won't let them. Ask IT departments why this is the case and they'll point to the six- to seven-figure costs of upgrading turn-of-the-century Intranets written to work in, and only in, Internet Explorer 6. Google have provided a way for websites to opt out of IE6 (and even IE7) support without requiring enterprise-wide, Intranet-breaking browser upgrades.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://fishbowl.pastiche.org/2009/09/23/google_you_clever_bastards/"&gt;Charles Miller&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/chrome"&gt;chrome&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/chromeframe"&gt;chromeframe&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ie6"&gt;ie6&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/charles-miller"&gt;charles-miller&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;&lt;/p&gt;



</summary><category term="chrome"/><category term="chromeframe"/><category term="google"/><category term="ie6"/><category term="charles-miller"/><category term="internet-explorer"/></entry><entry><title>Quoting Lars Rasmussen and Adam Schuck</title><link href="https://simonwillison.net/2009/Sep/23/wave/#atom-tag" rel="alternate"/><published>2009-09-23T09:59:08+00:00</published><updated>2009-09-23T09:59:08+00:00</updated><id>https://simonwillison.net/2009/Sep/23/wave/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.googlewavedev.blogspot.com/"&gt;&lt;p&gt;In the past, the Google Wave team has spent countless hours solely on improving the experience of running Google Wave in Internet Explorer. We could continue in this fashion, but using Google Chrome Frame instead lets us invest all that engineering time in more features for all our users, without leaving Internet Explorer users behind.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.googlewavedev.blogspot.com/"&gt;Lars Rasmussen and Adam Schuck&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/lars-rasmussen"&gt;lars-rasmussen&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/adam-schuck"&gt;adam-schuck&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google-wave"&gt;google-wave&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/chrome"&gt;chrome&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/wave"&gt;wave&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/chromeframe"&gt;chromeframe&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;&lt;/p&gt;



</summary><category term="lars-rasmussen"/><category term="adam-schuck"/><category term="google-wave"/><category term="chrome"/><category term="google"/><category term="wave"/><category term="chromeframe"/><category term="internet-explorer"/></entry><entry><title>Introducing Google Chrome Frame</title><link href="https://simonwillison.net/2009/Sep/23/chromeframe/#atom-tag" rel="alternate"/><published>2009-09-23T09:57:59+00:00</published><updated>2009-09-23T09:57:59+00:00</updated><id>https://simonwillison.net/2009/Sep/23/chromeframe/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blog.chromium.org/2009/09/introducing-google-chrome-frame.html"&gt;Introducing Google Chrome Frame&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Here’s what Alex Russell has been up to at Google: An IE plugin (for 6, 7 and 8 on all Windows versions) which embeds the Google Chrome rendering engine—sites can then opt-in to using it by including a X-UA-Compatible meta tag. Seems to be aimed at corporate networks which mandate IE for badly written intranet applications—they can roll this out without retraining users to use another browser or breaking their existing in house apps.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/chrome"&gt;chrome&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/chromeframe"&gt;chromeframe&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/webkit"&gt;webkit&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xuacompatible"&gt;xuacompatible&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="chrome"/><category term="chromeframe"/><category term="google"/><category term="internet-explorer"/><category term="webkit"/><category term="xuacompatible"/></entry><entry><title>Microsoft backs long life for IE6</title><link href="https://simonwillison.net/2009/Aug/14/ie6/#atom-tag" rel="alternate"/><published>2009-08-14T14:53:50+00:00</published><updated>2009-08-14T14:53:50+00:00</updated><id>https://simonwillison.net/2009/Aug/14/ie6/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://news.bbc.co.uk/1/hi/technology/8196242.stm"&gt;Microsoft backs long life for IE6&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Oh FFS... “The software giant said it would support IE6 until 2014—four years beyond the original deadline.”


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/browsers"&gt;browsers&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ffs"&gt;ffs&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ie6"&gt;ie6&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/microsoft"&gt;microsoft&lt;/a&gt;&lt;/p&gt;



</summary><category term="browsers"/><category term="ffs"/><category term="ie6"/><category term="internet-explorer"/><category term="microsoft"/></entry><entry><title>Quoting David Baron</title><link href="https://simonwillison.net/2009/Jul/8/david/#atom-tag" rel="alternate"/><published>2009-07-08T20:30:27+00:00</published><updated>2009-07-08T20:30:27+00:00</updated><id>https://simonwillison.net/2009/Jul/8/david/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://dbaron.org/log/20090707-ex-html"&gt;&lt;p&gt;Microsoft was slowing development of new versions of Internet Explorer in the hope that Web-based applications would not be able to compete with Windows applications, and Windows applications would keep people locked in to the Windows operating system. Thus XHTML2 was developed with no expectation that the leading Web browser would ever implement it.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://dbaron.org/log/20090707-ex-html"&gt;David Baron&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/david-baron"&gt;david-baron&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xhtml"&gt;xhtml&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xhtml2"&gt;xhtml2&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/microsoft"&gt;microsoft&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web-standards"&gt;web-standards&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;&lt;/p&gt;



</summary><category term="david-baron"/><category term="xhtml"/><category term="xhtml2"/><category term="microsoft"/><category term="web-standards"/><category term="internet-explorer"/></entry><entry><title>Cross Browser Base64 Encoded Images Embedded in HTML</title><link href="https://simonwillison.net/2009/Apr/17/base64/#atom-tag" rel="alternate"/><published>2009-04-17T16:12:12+00:00</published><updated>2009-04-17T16:12:12+00:00</updated><id>https://simonwillison.net/2009/Apr/17/base64/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.hedgerwow.com/360/dhtml/base64-image/demo.php"&gt;Cross Browser Base64 Encoded Images Embedded in HTML&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Scarily clever. View the PHP source to see what’s going on—most browsers get image tags that use data URIs starting with data:image/png;base64, but IE gets served a Content-type:message/rfc822 header and a MIME formatted multipart/related document, as used by e-mail clients to embed inline image attachments.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://blog.hedgerwow.com/2009/04/16/updatecross-browser-base64-encoded-images-embedded-in-html/"&gt;HedgerWow&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/base64"&gt;base64&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/browsers"&gt;browsers&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/hedger-wang"&gt;hedger-wang&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mime"&gt;mime&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;&lt;/p&gt;



</summary><category term="base64"/><category term="browsers"/><category term="hedger-wang"/><category term="internet-explorer"/><category term="mime"/><category term="php"/></entry><entry><title>cufon</title><link href="https://simonwillison.net/2009/Apr/6/cufon/#atom-tag" rel="alternate"/><published>2009-04-06T22:29:47+00:00</published><updated>2009-04-06T22:29:47+00:00</updated><id>https://simonwillison.net/2009/Apr/6/cufon/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://wiki.github.com/sorccu/cufon/about"&gt;cufon&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
A promising alternative to sIFR, cufon uses VML on IE and canvas on other browsers to render custom fonts in the browser. You have to convert your font to JavaScript first, either using their free hosted tool or by installing the FontForge based server-side script yourself. The JavaScript encoded font file uses VML primitives to improve IE performance; the JavaScript library converts that to canvas calls for other, faster browsers.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/browsers"&gt;browsers&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/canvas"&gt;canvas&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/cufon"&gt;cufon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/fontforge"&gt;fontforge&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/fonts"&gt;fonts&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sifr"&gt;sifr&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/typography"&gt;typography&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/vml"&gt;vml&lt;/a&gt;&lt;/p&gt;



</summary><category term="browsers"/><category term="canvas"/><category term="cufon"/><category term="fontforge"/><category term="fonts"/><category term="internet-explorer"/><category term="javascript"/><category term="sifr"/><category term="typography"/><category term="vml"/></entry><entry><title>Pwn2Own trifecta: Hacker exploits IE8, Firefox, Safari</title><link href="https://simonwillison.net/2009/Mar/19/pwnown/#atom-tag" rel="alternate"/><published>2009-03-19T15:30:36+00:00</published><updated>2009-03-19T15:30:36+00:00</updated><id>https://simonwillison.net/2009/Mar/19/pwnown/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blogs.zdnet.com/security/?p=2934"&gt;Pwn2Own trifecta: Hacker exploits IE8, Firefox, Safari&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
You just can’t trust browser security: Current versions of Safari, IE8 and Firefox all fell to zero-day flaws at an exploit competition. None of the vulnerabilities have been disclosed yet.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/browsers"&gt;browsers&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/firefox"&gt;firefox&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ie8"&gt;ie8&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/pwn2own"&gt;pwn2own&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/safari"&gt;safari&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="browsers"/><category term="firefox"/><category term="ie8"/><category term="internet-explorer"/><category term="pwn2own"/><category term="safari"/><category term="security"/></entry><entry><title>Fixing IE by porting Canvas to Flash</title><link href="https://simonwillison.net/2009/Mar/15/azaus/#atom-tag" rel="alternate"/><published>2009-03-15T13:34:47+00:00</published><updated>2009-03-15T13:34:47+00:00</updated><id>https://simonwillison.net/2009/Mar/15/azaus/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.azarask.in/blog/post/flash-canvas/"&gt;Fixing IE by porting Canvas to Flash&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Implementing canvas using Flash is an obvious step, but personally I’m much more interested in an SVG renderer using Flash that finally brings non-animated SVGs to IE.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/canvas"&gt;canvas&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/flash"&gt;flash&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/svg"&gt;svg&lt;/a&gt;&lt;/p&gt;



</summary><category term="canvas"/><category term="flash"/><category term="internet-explorer"/><category term="svg"/></entry><entry><title>Ehy IE8, I Can Has Some Clickjacking Protection?</title><link href="https://simonwillison.net/2009/Jan/29/clickjacking/#atom-tag" rel="alternate"/><published>2009-01-29T13:39:34+00:00</published><updated>2009-01-29T13:39:34+00:00</updated><id>https://simonwillison.net/2009/Jan/29/clickjacking/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://hackademix.net/2009/01/27/ehy-ie8-i-can-has-some-clickjacking-protection/"&gt;Ehy IE8, I Can Has Some Clickjacking Protection?&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
IE8 has built-in protection against clickjacking, but it’s opt-in (with a custom HTTP header) and IE only. It turns out the usual defence against clickjacking (using framebusting JavaScript) doesn’t work in IE as it can be worked around with a security=“restricted” attribute on an iframe.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://ha.ckers.org/blog/20090128/ie80-and-clickjacking/"&gt;ha.ckers.org&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/clickjacking"&gt;clickjacking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/http"&gt;http&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ie8"&gt;ie8&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/iframes"&gt;iframes&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="clickjacking"/><category term="http"/><category term="ie8"/><category term="iframes"/><category term="internet-explorer"/><category term="javascript"/><category term="security"/></entry><entry><title>Microsoft: Big Security Hole in All IE Versions</title><link href="https://simonwillison.net/2008/Dec/16/microsoft/#atom-tag" rel="alternate"/><published>2008-12-16T20:26:53+00:00</published><updated>2008-12-16T20:26:53+00:00</updated><id>https://simonwillison.net/2008/Dec/16/microsoft/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://voices.washingtonpost.com/securityfix/2008/12/microsoft_big_security_hole_in.html"&gt;Microsoft: Big Security Hole in All IE Versions&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Looks like a 0-day that’s being actively exploited.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/0day"&gt;0day&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/microsoft"&gt;microsoft&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="0day"/><category term="internet-explorer"/><category term="microsoft"/><category term="security"/></entry><entry><title>Internet explorer mystery #1376</title><link href="https://simonwillison.net/2008/Dec/3/ned/#atom-tag" rel="alternate"/><published>2008-12-03T09:04:17+00:00</published><updated>2008-12-03T09:04:17+00:00</updated><id>https://simonwillison.net/2008/Dec/3/ned/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://nedbatchelder.com/blog/200812/internet_explorer_mystery_1376.html"&gt;Internet explorer mystery #1376&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
IE executes function definitions inside an “if (0)” block. That frightens me.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ned-batchelder"&gt;ned-batchelder&lt;/a&gt;&lt;/p&gt;



</summary><category term="internet-explorer"/><category term="javascript"/><category term="ned-batchelder"/></entry><entry><title>The March of Access Control</title><link href="https://simonwillison.net/2008/Nov/19/john/#atom-tag" rel="alternate"/><published>2008-11-19T08:40:34+00:00</published><updated>2008-11-19T08:40:34+00:00</updated><id>https://simonwillison.net/2008/Nov/19/john/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://ejohn.org/blog/the-march-of-access-control/"&gt;The March of Access Control&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
The W3C Access Control specification is set to become a key technology in enabling secure cross-domain APIs within browsers, and since it addresses a legitimate security issue on the web I hope and expect it will be rolled out a lot faster than most other specs.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/accesscontrol"&gt;accesscontrol&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/browsers"&gt;browsers&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/crossdomain"&gt;crossdomain&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/john-resig"&gt;john-resig&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="accesscontrol"/><category term="browsers"/><category term="crossdomain"/><category term="internet-explorer"/><category term="john-resig"/><category term="security"/></entry><entry><title>On UI Quality (The Little Things): Client-side Image Resizing</title><link href="https://simonwillison.net/2008/Nov/12/code/#atom-tag" rel="alternate"/><published>2008-11-12T23:00:15+00:00</published><updated>2008-11-12T23:00:15+00:00</updated><id>https://simonwillison.net/2008/Nov/12/code/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/"&gt;On UI Quality (The Little Things): Client-side Image Resizing&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Two neat tips for cleanly scaling down images in IE 6 and 7 from Flickr’s Scott Schiller.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/flickr"&gt;flickr&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/imagescaling"&gt;imagescaling&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/scott-schiller"&gt;scott-schiller&lt;/a&gt;&lt;/p&gt;



</summary><category term="flickr"/><category term="imagescaling"/><category term="internet-explorer"/><category term="scott-schiller"/></entry><entry><title>Quoting Tom Armitage</title><link href="https://simonwillison.net/2008/Sep/3/infovore/#atom-tag" rel="alternate"/><published>2008-09-03T10:19:31+00:00</published><updated>2008-09-03T10:19:31+00:00</updated><id>https://simonwillison.net/2008/Sep/3/infovore/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://infovore.org/archives/2008/09/03/burning-chrome/"&gt;&lt;p&gt;The greatest coup Microsoft pulled with Internet Explorer was putting the word "Internet" in its name. It sits there, on the desktop of every new Windows computer, and it says "Internet". So you click it. [...] What better way to beat a browser with the word "Internet" in its name - a browser that seemingly can't be beat no matter how hard we try - than the Internet Company itself making a browser?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://infovore.org/archives/2008/09/03/burning-chrome/"&gt;Tom Armitage&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/microsoft"&gt;microsoft&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tom-armitage"&gt;tom-armitage&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/browsers"&gt;browsers&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/chrome"&gt;chrome&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;&lt;/p&gt;



</summary><category term="microsoft"/><category term="tom-armitage"/><category term="google"/><category term="browsers"/><category term="chrome"/><category term="internet-explorer"/></entry><entry><title>IE8 Security Part IV: The XSS Filter</title><link href="https://simonwillison.net/2008/Jul/3/ieblog/#atom-tag" rel="alternate"/><published>2008-07-03T09:37:39+00:00</published><updated>2008-07-03T09:37:39+00:00</updated><id>https://simonwillison.net/2008/Jul/3/ieblog/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx"&gt;IE8 Security Part IV: The XSS Filter&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
IE8 will include an XSS filter to identify and neutralise “reflected” XSS attacks (where malicious code in a query string is rendered to the page), turned on by default. Sounds like a good idea to me, and site authors can disable it using Yet Another Custom HTTP header (X-XSS-Protection: 0).

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://blogs.technet.com/bluehat/archive/2008/07/02/xssfilter-in-internet-explorer-8-0.aspx"&gt;BlueHat&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/http"&gt;http&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ie8"&gt;ie8&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/microsoft"&gt;microsoft&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xss"&gt;xss&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xssfilter"&gt;xssfilter&lt;/a&gt;&lt;/p&gt;



</summary><category term="http"/><category term="ie8"/><category term="internet-explorer"/><category term="microsoft"/><category term="security"/><category term="xss"/><category term="xssfilter"/></entry><entry><title>Obscure bugs revisited: IE, HTTPS and plugins</title><link href="https://simonwillison.net/2008/May/30/radiacnet/#atom-tag" rel="alternate"/><published>2008-05-30T09:54:05+00:00</published><updated>2008-05-30T09:54:05+00:00</updated><id>https://simonwillison.net/2008/May/30/radiacnet/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://radiac.net/diary/id/1257/"&gt;Obscure bugs revisited: IE, HTTPS and plugins&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Filed for future reference: IE breaks mysteriously if you serve it up plugin content (e.g. Flash) over HTTPS with a no-cache header—it deletes the file from cache before the plugin software gets a chance to open it.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/bugs"&gt;bugs&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/caching"&gt;caching&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/flash"&gt;flash&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/https"&gt;https&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/plugins"&gt;plugins&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/richard-terry"&gt;richard-terry&lt;/a&gt;&lt;/p&gt;



</summary><category term="bugs"/><category term="caching"/><category term="flash"/><category term="https"/><category term="internet-explorer"/><category term="plugins"/><category term="richard-terry"/></entry><entry><title>Reading binary files using Ajax</title><link href="https://simonwillison.net/2008/Apr/22/reading/#atom-tag" rel="alternate"/><published>2008-04-22T19:02:02+00:00</published><updated>2008-04-22T19:02:02+00:00</updated><id>https://simonwillison.net/2008/Apr/22/reading/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://nagoon97.wordpress.com/2008/04/06/reading-binary-files-using-ajax/"&gt;Reading binary files using Ajax&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
There’s a simple trick for Firefox, and (amazingly) you can get IE to play along using a function written in VBScript.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/ajax"&gt;ajax&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/binary"&gt;binary&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/firefox"&gt;firefox&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/vbscript"&gt;vbscript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xmlhttprequest"&gt;xmlhttprequest&lt;/a&gt;&lt;/p&gt;



</summary><category term="ajax"/><category term="binary"/><category term="firefox"/><category term="internet-explorer"/><category term="javascript"/><category term="vbscript"/><category term="xmlhttprequest"/></entry><entry><title>Flirting with mime types [PDF]</title><link href="https://simonwillison.net/2008/Apr/14/mimetypes/#atom-tag" rel="alternate"/><published>2008-04-14T08:18:17+00:00</published><updated>2008-04-14T08:18:17+00:00</updated><id>https://simonwillison.net/2008/Apr/14/mimetypes/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.leviathansecurity.com/pdf/Flirting%20with%20MIME%20Types.pdf"&gt;Flirting with mime types [PDF]&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Different browsers have different rules for which content types will be treated as active content (and hence could be vectors for XSS attacks). IE uses a blacklist rather than a whitelist and hence rendered active content for 696 of the tested content types.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://xs-sniper.com/blog/2008/04/14/google-xss/"&gt;Billy Rios&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/browsers"&gt;browsers&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/contenttypes"&gt;contenttypes&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xss"&gt;xss&lt;/a&gt;&lt;/p&gt;



</summary><category term="browsers"/><category term="contenttypes"/><category term="internet-explorer"/><category term="security"/><category term="xss"/></entry><entry><title>CSS Compatibility and Internet Explorer</title><link href="https://simonwillison.net/2008/Apr/2/css/#atom-tag" rel="alternate"/><published>2008-04-02T20:05:28+00:00</published><updated>2008-04-02T20:05:28+00:00</updated><id>https://simonwillison.net/2008/Apr/2/css/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/cc351024(VS.85).aspx"&gt;CSS Compatibility and Internet Explorer&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Official Microsoft guide to which CSS properties are supported by which versions of IE. This is the kind of documentation browser vendors should be providing as a matter of course.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://www.sitepoint.com/blogs/2008/04/03/net-on-the-net-march-25-april-1-ooxml-and-ie8/"&gt;Ian Muir&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/css"&gt;css&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/documentation"&gt;documentation&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/microsoft"&gt;microsoft&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/standards"&gt;standards&lt;/a&gt;&lt;/p&gt;



</summary><category term="css"/><category term="documentation"/><category term="internet-explorer"/><category term="microsoft"/><category term="standards"/></entry></feed>