Hacker News new | ask | show | jobs
by zacstewart 5638 days ago
The png fix included in this is terrible. Give me DD_BelatedPNG over this any day. It doesn't support background-position.

However, while we're talking about fixing IE6, who wants to port WebKit to Javascript with me?

2 comments

However, while we're talking about fixing IE6, who wants to port WebKit to Javascript with me?

I think you'd have better luck porting it to Alchemy[1] and running it through Flash. Even if users don't have the plugin (many will[2]) you could take advantage of Adobe's drive-by Flash installation (something I strangely find myself wishing Microsoft would adopt for IE updates).

[1]http://labs.adobe.com/technologies/alchemy/ [2]http://www.adobe.com/products/player_census/flashplayer/vers...

I've pondered if writing your entire website in canvas/svg (a la Raphael) is the only way have it (100%) consistent across IE6-8, Chrome, and Firefox. That way you throw the html renderer of the browser out of the window and you're drawing your own vectors.

But even so, you'll probably hit some weirdness in IE6's jscript implementation.

However, excanvas was quite slow though, at least last I tried it.

Of course it's not the only way, have you seen Google's homepage?

Also, JScript is actually surprising good and is nothing like the DOM or CSS, AFAIK the only known bugs are Named Function Expressions being parsed as Function Declarations (http://kangax.github.com/nfe/#jscript-bugs), and a couple RegExp bugs (http://blog.stevenlevithan.com/category/cross-browser).

I suppose if you count DOM bugs, like the memory leak, that's a problem. That's where jQuery is amazingly helpful(and presumably other libraries like it).

Considering Raphael is as slow as excanvas in IE (but much faster in other browsers), it's probably IE's fault, not excanvases.

Another JS bug in older versions of IE (6 for sure, not sure about later ones) occurs when you end an array or hash with a comma after the last element, e.g. {foo: bar,}
IIRC, this is actually invalid Javascript syntax that Chrome/Firefox/Safari choose to ignore.

JSLint picks it up:

  Error:
  Problem at line 1 character 22: Extra comma.

  var x = { foo : "bar", };
Canvas rendering is not 100% consistent across canvas implementations.

So you would be losing the ability to have the browser do layout for you, losing the ability to scroll sanely, etc, and gaining perhaps some improvement in consistency, maybe. And maybe not.

Your comment makes me incredibly sad because not using HTML will have many hidden disadvantages to your end-users, and ruining many user agents' functionalities, not the least of which would be machine translation and accessibility/addictive devices.