Hacker News new | past | comments | ask | show | jobs | submit login
IE6IFY (ie6ify.com)
123 points by hakim on March 16, 2011 | hide | past | favorite | 32 comments



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.


The name was inspired by http://cornify.com, how is it misleading? I'd be happy to refund your 10 seconds.


It doesn't actually simulate ie6, it just moves things around randomly (see comments below).


which is a pretty good description of how ie6 renders pages.


Still, it's not accurate ;-)

edit: I doubt it's possible to be - that would imply duplicating the bugs in IE6, something I doubt even Microsoft could pull off.


C'mon! It's just a bit of fun!


Yea, can you really run IE6-only web apps using it?


I'll stick with Cornification, it's a lot more satisfying.

... can I have their 10 seconds?


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.

[1]: http://www.satzansatz.de/cssd/onhavinglayout.html


Haha, nice one, this technology will surely be bought by Microsoft to support their anti-IE6 operations.

http://ie6countdown.com/


Very briefly, it works by randomly repositioning page elements.


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.


why use

    document.getElementsByTagName('body')[0]
instead of

    document.body
?

(it's a legit, not snarky, question )

EDIT: formating.


Because maybe there's more than one body? :P

[Seriously though, I have no idea]


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.


getElementsByTagName always returns a NodeList, which is an Array-like object. You want the first thing in the array.


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......)


Props for typing up a more detailed version, which is what I started to do, but then got lazy and decided to make a somewhat vague general statement.


Reminds me of my buddy Mats Bryntse's IE6Frame. He presented it at a meetup at Yahoo about a year ago:

http://mankzblog.wordpress.com/2009/11/13/ie6-frame-to-battl...


More IE6 humor: the IE6 effect! http://mrdoob.com/lab/javascript/effects/ie6/


It works even better after clicking the button a few times.


This would be funny if it wasn't so true.


I'm guessing @HipsterIE6 disapproves


Why do people use @ mentions in places which don't support them?


To indicate they're talking about a Twitter user, without saying "The Twitter user, HipsterIE6", you humourless ninny.


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?


I miss using ~ to indicate usernames.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: