How To Get Around the Holes In IE9 Beta's Implementation of Canvas
mudimba writes "Microsoft has made grand announcements about how great their implementation of the HTML5 canvas specification is. However, while I was porting a large HTML5 application to work with IE9 beta I found that there are some key features missing. Workarounds are provided where possible. (Disclaimer: I am the author of the submitted article.)"
I just got forced to adopt IE8 compatibility (outside constraints). After developing something that runs just fine in Safari/Firefox/Chrome for 4 weeks, it took me:
The downside
- 4 hours to get it to run in IE8
- Data intensive JS processing/DOM manipulation is about 10x slower then in either of the alternatives
- Since no support for CSS3 border-image is present, it makes it look ugly
- Since DOM/JS is so slow, animations (width, height, opacity etc.) are slow as hell.
- the HTML5 popstate event (document.location change) is not supported, hence a watchdog interval has to be installed checking the document.location.hash 20x/second
- since IE is the only browser to enforce XHR caching, every request needs a timestamp query parameter (something that no other browser does, and which is really stupid, altough easy to provide)
- the developer tools are difficult to use (as compared to chrome, webkit, firebug etc.)
The Upside
- console.log works (thank god, no more alert debugging)
- The layout just worked (though I think that's rather a side effect of using pixel width/height zealously rather then an IE8 virtue)
- developer tools, any, even if they work badly, but developer tools!
Recommendation for anyone: IE is still the worst browser, and there's at least 4 alternatives which are collectively 1) faster 2) easier to develop for 3) more compatible to each other 4) prettier 5) more standards conformant
Experiments and other stuff