
Ie7-js  - olalonde
http://code.google.com/p/ie7-js/
======
jonasvp
I've recently started using CSS3PIE (<http://www.css3pie.com>) in production
and can only recommend it. It enables you to use CSS3 declarations such as
box-shadow and border-radius in Internet Explorer, even under version 6!

It's trivial to use and much faster than IE7.js since it relies on the browser
engine to do most of the work parsing selectors etc. The author Jason Johnston
is very responsive in the forums as well. Even better, the upcoming version
0.11 of Compass (<http://beta.compass-style.org>) includes a mixin for PIE
which makes adding cross-browser rounded corners a matter of two lines.

Didn't think I'd see this happen in my lifetime...

~~~
evo_9
This is a great/easy solution - thanks for posting this.

I spent maybe 5 minutes adding this to my site, and I have to say I'm
impressed. Copy the file to your server, add one new tag to your css wherever
your radius css defs are and viola, done.

Prior to using this I was able to get IE looking nearly identical to
Chrome/FF/Safar - except for drop-shadows and rounded corners. I've been
pretty strict about not deviating from the open standards and this has
actually caused several arguments between me and one of my biz partners (he
just doesn't get why I refuse to 'fix' the issue in IE with one of the graphic
hacks out there - and has been seeking advice from designers about this
even!).

So yeah, huge thanks again because not only does this solution thorough rocks
for what I needed and took no time to implement, but also now my biz partner
is going to have one less thing to fight with me about (and probably move back
on to telling clients about new features he wants that I have't started
yet...).

~~~
nolite
Have you found anything adds text-shadow support to IE?

~~~
Klonoar
Text shadow is easy to do, just not always gonna look great:

filter: dropshadow(color=#333333, offx=1, offy=1);

------
scrrr
Before using this make sure you write valid HTML and valid CSS. I found this
to be the best remedy for IE issues. Not that IE is particularly fond of
standards, however, sometimes adding something like "position:relative" to the
stylesheet will solve confusing problems.

For JS use Prototype or jQuery and voila, IE renders quite fine.

~~~
colorandcode
position:relative helps fix a number of overflow and box model bugs in the IEs
(especially IE7)

~~~
taitems
Don't forget the even more magic cure-all: zoom: 1;

It doesn't cause z-index bugs like position relative does! :)

------
zacstewart
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?

~~~
mcs
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.

~~~
laughinghan
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.

~~~
wahnfrieden
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,}

~~~
nikz
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", };

------
tiles
The last update of ie7.js was in March:
<http://dean.edwards.name/weblog/2010/03/ie7js-update/> Supports up to IE9.

------
colorandcode
Does it play nicely with content loaded via ajax? I would hate to have rerun
it on every ajax callback.

~~~
wahnfrieden
You do have to rerun it.

It would be more useful if it were part of a toolkit like Dojo or jQuery, and
would automatically happen when you use their AJAX functions.

~~~
iron_ball
On the other hand, how hard can it be to curry yourself a function that does
so?

------
dublinclontarf
Wasn't this up here some time ago? What's changed since then?

------
joakin
Anybody has tried this in a real production evironment? Does it play well with
jQuery and plugins?

I'll test it at work on monday and get back with the results, this looks
promising

~~~
SocratesV
Yes and I wouldn't recommend it if you have visitors with old computers and
your HTML isn't rather simple (depth and multiple class names for an element).
It will make older computers (+5 years... or even less, depends on the
hardware) simply block for almost a minute (or more) when trying to run that
JS.

------
NHQ
Does it fix floats and margins?

