Making IE Standards Compliant
spin2cool writes "Dean Edwards has taken it upon himself to make Internet Explorer W3C compliant. How? Well, it isn't by patching the application, as you might suspect. He's created a stylesheet, dubbed 'IE7' that uses DHTML to load and parse style sheets into a form that IE can understand. Just include the style sheet in your HTML pages, and things should render correctly. The complexity of the CSS transformations is really amazing and shows off the power of this stuff."
I'm sure IE 6.05.1 will feature a small modification which happens to cause this fix to stop working. ;)
All that's missing now, is a stylesheet that'll close all remaining security holes... :*)
.. it's a sad state of affairs when a developer outside of Microsoft actually ends up doing something that MS should have done themselves. So they can say 'screw it' to standards and someone else does the finger-work.
I think I'd personally be more interested in a stylesheet that redirects IE browsers to www.mozilla.org/ :) Or even better: crashes them.
This will probably get modded down - but this hack really does show the power of IE that you can deploy a script fix to browser problems.
And before people start attacking ie for saying that mozilla supports xyz css and ie6 doesn't - mozilla was last released yesterday - ie6 was released 2+ years ago. Most of these css3 features weren't even finalised as w3c guidelines when ie6 was released.
Great to see the css3 support though - removes the need for so hard-to-manage javascript hacks.
SharedID - Single Sign On for web applications
Is ponder how to get over the Slashdotting of his site.
I'm sure the CSS is a work of technical art; seeing it would be even better.
Donte Alistair Anderson Roberts - hi son!
Karma: Chameleon
A link to technical content was posted on Slashdot's front page. Do you really need a confirmation?
I wish someone would release such a sheet for firefox : /. itself still doen't render correctly on FFox 0.8 under XPpro. As shown here, the left column tends to dribble into the article summary...
When will I end this grieving ? When will my future begin ?
Wow... who woulda thunk it?
Site is already slashdottet. Here's Google's cache of the document.
So - how are the plans going with implementing a slashdot cache?
Underholdning.info
on the root of the site (http://dean.edwards.name/) it says:
* This is my site
* for my personal use
* running on my machine
* in my kitchen!
jesus christ, someone create a mirror before his computer blows up from being slashdotted.
Judging by the loading lag, and eventual time out hes managed to make his webserver IIS compliant also ;)
The shear horror!!!
G5's Folding@home for Team Mac OS X #1971
If you havent already yet, you should of switched from IE to Firefox. It is now my default browser on Windows, and on Windows XP it even puts it as the top Start menu item. It is fast, light, small download (6Mb), Tabbed Browsing, Popup blocking, Download manager, Cute icon and standards compliance are all good reasons to use it. So don't use an ugly hack to transform your pages for IE, put a firefox icon on your site.
So if you havent downloaded it yet, get it now!. Avalible for Windows, Linux, Mac OS X and more!
found here
The site is /.ed, but from what I can make out from the front page, this is making IE CSS standards compliant. Does it also work some magic to make it compliant with HTML (or even better, XHTML) standards (which would be far more useful), or is that just impossible?
In any event, this may allow me to actually use some CSS 2, a standard that was published in May 1998 (almost 6 years ago!) and still isn't (fully) supported by the leading browser in the world...
...thems sound lik fightin' words :)
yehaw boys!!
Use a Mozilla Firefox nightly build, the bug (217369, I think) that caused this problem is fixed in them.
More major changes since 0.8 here.
"You should never doubt what nobody is sure about." -- Willy Wonka
MS released a patch today to fix a major Security Bug in IE today. MS offcials say that a malisious hacker, is destroying websites around the world, by making them compatible with other web browsers. We at MS can abolutely not have any competion, so we are funding a $1 billion reward to the person who finds this man and breaks his even hack. We would do it ourselves but all 80,000 of our developers are busy trying to get longhorn out by 2010.
i thought once I was found, but it was only a dream.
Sometimes to me /.-ing a site doesn't compute with me- So the server has had so many incoming requests its gone kaput, but in all those hits not one person has kept a copy of this stylesheet.. ??
It's just simple text!
Do people just blindly click on links just because they are posted?
Live in your skin. Keep changing the scenery.
The title of the news is misleading : this JS component only corrects some CSS 2 selectors that IE doesn't natively support.
So it doesn't really make IS standards compliant, it just extends some functionnality. It doesn't, for example, correct the box model of IE5.
So I'm afraid it doesn't spare us of using CSS hacks to filter out IE.
that's right, and that's why all developers have the right to bitch about it and let off some steam, i myself having just spent the last 2 weeks developing 3 versions of a site design; firefox/opera (ie; standards compliant), ie5 and ie6.
at least in ie6 they've fixed that div padding and margin issue (where ms blatantly ignored w3c standards and made their own), but it's still annoying because now it means you have to do a version for ie5 and a version for ie6!
and ie6 ignores div heights, aaargh.. never ends!!
and unfortunately i can't add any comments on this actual article cos i still can't get to it!
Go to www.ntk.net and look through the last few editions. They were running a challenge to register the silliest .name domains (such as no.name , so you can host www.the.man.with.no.name)
Flippancy apart, I think using CSS to make IE7 W3C compliant is a really brilliant idea. However, the browser itself is a small part of the equations. Very few websites are W3C compliant. Vast majority of them are geared to a certain browser, depending on the whim and fancy of the designer.
For my part, I run my sites thru Anybrowser to make sure they will render on, well, as the name suggests, any browser.
Nothing to see here
> mozilla was last released yesterday - ie6 was
:-)
> released 2+ years ago
So, you're saying that the problem is not IE but the broken proprietry way of building softwarwe that can't can release new versions in time to answer real customer needs?
I think I agree
Gilad
Gilad.
Anyone who cares this much about the company's product should be given serious consideration for employment.
Microsoft should hire him...
I made this mirror based on the Google cache. It has the full source code, as well as the docs he wrote.
This is temporary, of course.
|/usr/games/fortune
Do people just blindly click on links just because they are posted?
Judging from the angry shouts and grumbles in lab when someone decides to mass-message a goatse link, I'd say the answer is yes.
I imagine his ISP's going to want to have a few words with him about bandwidth usage...
If what I have seen in the "file list" from the leaked MS code still holds true, all the HTML rendering, CSS, PNG and etc stuff is in DLLs that are totally seperate from the OS and could easily be updated independantly.
When Microsoft says "we cant fix xyz", it usually means "we cant fix xyz because it would cost us more (in money, programmer time etc) than we are going to gain (in sales, PR etc)"
Oh come on, people, do a View Source for yourselves. Go on, I dare you. Slashdot's HTML is hideous just to look at and horribly out of standards compliance.
via Google Cache : IE7.htc
This is only the IE behavior itself. (27 kB)
Visit the containing directory to see a fix for IE's PNG rendering bug that also works on background PNG images.
Just in case you haven't realised, IE5.5 is quite different to both IE5 and IE6. I myself tested a site once using IE5 and IE6 assuming that IE5.5 would be much the same as one of them... but oh no, its got its very own strangeness! And Mac IE is of course different again.
Seriously the slashdot effect is one of the reasons that Bittorrent was originally developed.
If somebody had grabbed the files we could had a torrent mirror delivering the files in seconds.
Unfortunately if MS continues like it has done, the web will stagnate with no cool new features appearing. MS has made it clear they're not interested in making IE standards complient or adding any new enhancements. Since 95% of people use IE (and probably have no clue that there is anything other than IE available), if IE is never enhanced then web developers will forever be stuck in the trap of never being able to use any cool new features that IE doesn't currently support. Very few web developers will be happy adding features to their website that make it unusable for 95% of their visitors (although it seems that professional web developers have no problem with making their sites only work with IE).
:)
What I'd love to see someone do at some point is re-skin FireFox to look like IE and then abuse one of IE's many security holes to replace IE with the reskinned FireFox on any machine that visits the website.
http://blog.nexusuk.org
The code itself at the moment is 27k, which is kinda hefty for most pages on initial load (though you'd only have to load it once per site). However, it includes loads of comments, which might slim it down to about half that if you stripped them out. And the savings in other code areas by not having to write double-code and browser-detection are probably worth it overall.
:-)
This would certainly make development a lot easier... I look forward to trying it out
Can someone temporarily host my site? some of it is php4. is that ok? mail me at dean@edwards.name and cc 9jack9@msn.com. i can chat on the msn account if necessary. thanks. dean edwards
The parent post is quite correct. This is basically a hack. A technically proficient, useful hack, but a hack nonetheless.
.uniquename {font-family:"comic sans ms";}
I believe (and I can't check as the site is down) that the effect of the stylesheet is to:
a) scan the stylesheets that come with the document and look for certian types of unsupported selectors
b) Replace those selectors with ones that IE does understand (i.e. copy the style rules to a new selector)
c) Scan through the html of the document and look for elements that matched the original (unsupported) selectors
d) Add a class attribute to the elements that should have matched the old selector that causes it to match the equivilent selector that IE does understand
e.g. an selector div > p will match p that is a child of div. IE doesn't understand child selectors, so given a rule:
div > p {font-family:"comic sans ms";}
the stylesheet will create a rule
and given a piece of document that should match like:
<div>
<p>
Isn't IE great!
</p>
</div>
It will be replaced (in memory) by something like:
<div>
<p class="uniquename">
Isn't IE great!
</p>
</div>
This will allow the IE style engine to apply the correct formatting.
you know microsoft: ignore the standards they don't like while pushing the half-assed replacement they come up with
.net framework (excessivly large, almost useless .net framework must be installed seperatly from this update)
i can see it now...
windows xp recomended update #5946468
css.net:
this update gives IE6 the ability to properly* display css using the
*through emulation only, we're microsoft damnit! we don't bow down to anyone bitch!
Why would I use Internet Explorer anyway? In my opinion everbody should use Firebird or Konqueror...=)
The W3C have now changed policy so that in order to get to full Recommendation status, a specification has to have at least two independent implementations. If nobody can implement it, it gets kicked back a stage or two for reevaluation. This should help combat the "nice specs, shame about the real world" problem a little.
It would be nice if IE could view transparent PNG files
Rather than fixing IE, how about using the same method to make Mozilla render pages designed for IE correctly?
Mozilla is my favorite browser in both Windows and Linux platforms, and it works so well that whenever I stumble with a broken page, I blame it to site designers, not Mozilla, and move along.
However, sometimes I need to browse the broken page. Wouldn't it be cool if you could fire up some DHTML code to parse the broken page and make it standards compliant, so Mozilla (and others) can read it flawlessly?
This wouldn't encourage correct site design, but while in that fight, it would be a nice temporary solution.... do you think this could be done?
It would be pretty simple for them to have a local copy of the stylesheet and modify the HTML from the server to include this before rendering.
Avantslash - View Slashdot cleanly on your mobile phone.
This type of solution doesn't really fix the problem that the CSS2 W3C standards aren't correctly supported in any browser. We deal with having to support old browser versions all the time, and believe me, the W3C standards (particularly the DOM), really help to reduce the amount of logic we need to duplicate for various user agents. However, we haven't the luxury of saying, "bah, forget the old browsers, our users have only the very best". So, our server scripts output HTML 4.01 and scripts redirect on failed functional tests and noscript tags to non-script versions of the site.
The point is, CSS2 doesn't fill its intended purpose for those who must support legacy apps. Its faster to bite the bullet and format layouts with tables, and it works for ancient browsers (Netscape 4.x anyone?). To me, that's one of the main advantages of JSP, PHP, ASP, and the like: I can include complex logic in my site and output lame ole' HTML 4.01. Code and UI are separated, and everyone is happy.
Besides, take a lesson from Google, simple layouts are best.
Did you hear? McDonald's heard about this move by Microsoft, and was inspired to imitate their strategy. McDonald's is now pushing through the Department of Agriculture to add "Big Mac" and "Chicken Nuggets" to the Food Pyramid, placing them just below the highly-coveted "Dairy Products" block. McDonald's argues that since such a huge percentage of the population is eating their food, everyone should consider their products a nutritional standard.
I remember back then, when Netscape Navigator 4.* was alife, we used to bitch about it in the company. Whatever you wanted to do, dhtml, layers, css and other modern cool stuff, it looked cool in IE but totally failed in NN. We had to include alot of workarounds for NN.
Today, we have Mozilla, KHTML/Safari and Opera and we can do what ever we want to do, all the modern stuff like CSS 2.0, tableless page layouts and other funky stuff you want to do in the year of 2004. It looks great in all browsers, except IE. Nowadays IE is the bad kid who destroys the party. I hope MS fixes it soon or lets it go the NN 4.* way.... please...
MS should pay $1 billion for preventing this guy from distributed this, eh? So...
/. members ever made...the site is already slashdotted!
:P
That'd be the easiest money
thanks to all those who have offered to mirror/host my site. i'm currently working on a solution so i should be back up again soon. thanks to Asheesh Laroia there is now a temporary mirror here: http://jhunix.hcf.jhu.edu/~alaroia1/dean/ please note: only the html test files work on this mirror. thanks again. dean edwards
>> IE is the suck.
This should be displayed whenever IE starts up.
Space: Does not page down
Page-Down: Does not page down
Cursorkey-Down: Does not scroll down
"Microsofts Invention", the iframe works like a charm in Mozilla, simple W3C CSS fails. Since 2001.
This is offtopic, but I believe it deserves attention. Moderation of a comment for being "insightful" should be reserved for comments that are, well, insightful. The quality of being insightful is characterized by perceptiveness, or seeing below the surface to a deeper meaning or truth.
Simply having a good idea is not seeing below the surface of the idea at hand. At best, it should be "interesting" or "underrated". My personal opinion is that this comment is definitely worth modding up, but it is "interesting" rather than "insightful".
Then again, what I would really like is M$ forced to use the standards, and any improvements to that have to go through the appropriate bodies for inclusion...In fact, i'd just like to see IE gone....and Windows...oh, and M$...
When all is said and done, nothing changes...
I know this is not new to a lot of people judgeing by the number of hits I get when searching for solutions. IE's submit button doesn't lock, as many times as you click it, is as many times as it breaks its former connection and makes a new one.
I can't believe even MS would do something that stupid!!! Since I learned about forms on Netscape, it never occured to me that this problem could exist until I saw it for myself.
I couldn't care less about DHTML or CSS "compliance" when IE can't even act like a simple web client correctly!!
Eric
I've always though of IE as being the 'weak link' BUT check out this post on MozillaZine about how RUS-CERT has critized Mozilla's security policy. Supposedly Mozilla doesn't issue regular patches/update/notices to users - security fixes are only incorperated into the 'latest' release ?!?!!
thanks to Lizard for this mirror:
http://edwards.furhome.net/
all html and xml examples should now work.
thanks again for all the offers for mirrors i've had.
dean edwardsMan, you need to leave Mr. Shatner alone when he's trying to make a point!
And the muscular cyborg German dudes dance with sexy French Canadians
It is meaningless to comment by saying "hey I use firefox", because the rest of the world is not using it. Now still 25% of my visitors are using IE 5.5, given that IE 6.0 is there 4 years ago.
Yes, it is much easier to make Mozilla/Opera more IE-complaint. [See IE Emu]
It is also quite easy to design a new set of API such that they are deligated to the correct version supported by the browser in runtime. [See DHTMLLib] [See CBE]
But these are just the wrong way.
A patch to IE means:
It is exactly something like Cygwin, which implies UNIX-style programs are correct programs. When you move to Linux is just your choice.
You've been modded a troll and it's probably right. But it's Friday, and I'm fed up with illiterate morons and I agree with you.
I come across this all the time. People send emails with stuff like:
"Can someone, please look at, this."
What does it mean? By the way, this is a manager. She gets paid more than me and yet she can't string simple written English together.
Sometimes I wonder what goes on in peoples' minds, then I realise I'd rather not know.
Yours Sincerely, Michael.
We, need, more, dramatic, pauses, Scotty!
Gamingmuseum.com: Give your 3D accelerator a rest.
There needs to be a website where the anal retentive, grammar/spelling police can post endless comments on the proper usage of commas, spelling and punctuation and hilarious examples like the one above. However, I don't think /. is the right forum for this.
/.ers speak English as a second language. How many languages do you speak/write? Do you always do it flawlessly?
Many
Unless the error substantially changes the meaning of the post, these types of comments should be rated as Off Topic.
There is nothing so powerful as an idea whose time has come.
Rather than fixing IE, how about using the same method to make Mozilla render pages designed for IE correctly?
Pages should not be designed for browser x (replace x with browser of choice). This is bad web design. Web pages should be designed to follow standards, as should web browsers. In many cases I would also recommend not using the latest rendition of a standard, since most browsers probably don't support it. The philosphy of web design, is 'write for all, view by all'. NOT 'write for one, view by one' as this is lazy, shows bad design and is just careless. I like to be able to use the browser on whatever computer I am sitting at and still have it display correctly.
This is a rant, but one which I feel passionatly about. Now don't get me going on how Macromedia Flash also shows signs of poor web design.
Jumpstart the tartan drive.
Many /.ers speak English as a second language. How many languages do you speak/write? Do you always do it flawlessly?
Actually, MOST people I know from other countries who speak/write English as a second language do it FAR better than most native English speakers I know.
I would wager dollars to doughnuts that the person who makes a mistake like that is NOT foreign.
HTML is a standard that Microsoft employees have tried to subvert in every possible way to perpetuate their corporate hegemony. Yet they have failed to enforce their defacto standard on the Web, due to stubborn plurality of the Web, and the superiority of the actual standard. Just because you worship M$'s monopoly, don't expect the rest of us to ignore their deliberate vandalism of our environment.
--
make install -not war
I'd send it back with a note:
It looks good overall; just remove the two commas and change the period to a question mark. I'm happy to help.
Language students: Don't try to learn English here. This ain't it.
With permission of Dean Edward, I have copied the IE7 information and src download to my webserver for mirroring purposes. http://opensource.worldhuman.net/mirror/IE7
http://edwards.furhome.net/IE7/
thanks anyway Casey