This might actually be handy if it really did show what a page would look like in IE6. Instead, it comes across to me as a trivial CSS/JS novelty with a somewhat misleading name. Can I have those 10 seconds back?
In defense of said website, I would like to point out that after clicking the IE6ify! button several times, in true IE6 fashion, the button stopped working.
That actually sounds super hard, time would be much better spent on something that compensated for every one of these ie6isms, as opposed to this which is a bit of fun.
Oh cool, my half-hour project is on HN! I made this a year ago on my netbook while waiting for the bus. Interesting how my silliest ideas are the most successful ones.
It'd be awesome if someone actually reverse engineered the algorithm and created a bookmarklet to reproduce it. This page [1] seems to have a lot of useful info.
Not quite. Here's the cleaned up JS from the bookmarklet:
function () {
var i = 0,
r = function (n) {
return Math.floor(Math.random() * n)
},
f = document.getElementsByTagName('body')[0].getElementsByTagName('*'),
o = function (e) {
return typeof(e.style) == 'object' && e.tagName != 'SCRIPT'
},
s = function () {
while (!o(e = f[r(f.length)])) {}
return e.style
};
while (i++ < 5) {
s().display = r(2) ? 'block' : 'inline';
s().position = r(2) ? 'absolute' : 'relative';
s().margin = r(2) ? '0' : '1em';
s().padding = r(2) ? '0' : '1em';
s().width = r(2) ? '' : 'auto';
}
})();
Every time you click the button, it does the following:
1. Randomly selects an element from the page that isn't an object or a script.
2. Randomly switches the display property to either block or inline, the position property to absolute or relative, the margin property to 0 or 1 em, the padding property to 0 or 1em, and the width to a blank string or auto.
3. Repeats steps 1/2 until 5 elements have had these transformations applied.
You know, you're probably fine if you always assume there's only one body tag.
That said, I've seen this and worse when looking at the output of highly-paid web dev departments at large companies. One site we recently saw had five opening html tags, head sections, and body tags. All the head sections were different, and none were closed, including roughly half the content tags we saw. It's a testament to the "be loose in what you accept" mantra of the web, and to the browser devs themselves, that this monstrosity rendered properly.
I'm not saying "enterprise" developers are bad by definition, but the enterprise sure is large enough for the bad ones to sneak by.
there is nothing i havent seen before.... a multi million euro betting site (sponsor of real madrid) had this for years until i suggested it was a bad idea (and a lots of dev man days later......)
I've seen people using it here, when referencing a sibling post in a thread. I think some people have generalized it to mean "I'm talking about someone who I know will read this."
http://vanillaforums.org use the format as a functional component. @Username in a post will (per target user settings) send them an email with a link to the post. Great way to drag specific people in to a thread.
I think it has genericized beyond Twitter to mean "somebody with a username of HipsterIE6". I've seen it on pretty much every site I visit to mean users on that site. Of course, then figuring out context becomes non-trivial: is this Twitter's HipsterIE6 or HN's HipsterIE6?