毁掉你的IE6

今天下午Justice兴致勃勃的贴出一个jQuery的插件,jQuery Crash。
插件的地址在这里
其实就代码来说这个脚本就只有一行。

JavaScript
jQuery.crash=function(x){for(x in document.open);};

调用这个函数之后的话,在IE6下你会得到这样一个结果。
IE6 Crash
进一步的,其实不止document.open,很多函数都会产生类似的结果,比如getAttribute,setAttribute等等。
在调用$.crash()之后,等于是for (undefined in document.open),有些人说,是因为在document.open这样的一个对象中寻找可迭代的对象时发生了错误所造成的。ECMAScript规范中定义的算法指出for...in是要把对象的每一个可迭代属性依次设进x中,而某一个属性可能就在此时发生了问题。那么这又是为何?有人说可能是在调用内部的[[get]]方法时出现的。
也许只有IE的开发人员才知道这个问题究竟是什么,但无可质疑的是,发现这个JScript bug的人是一个天才。而且他成功的杀掉了IE6。
Dead IE6

Comments (15)

  1. 00:57, 2010-04-15Justice  / Reply

    我没有兴致勃勃好不好,明明是 smilence ...

  2. 09:19, 2010-04-15万戈  / Reply

    相当牛叉,干的好!

  3. 21:54, 2010-04-15六日博  / Reply

    你牛叉,顺便问一下,你这个主题在哪儿改正文的字体默认大小,我想稍微改大一点

  4. 03:09, 2010-04-16Justice  / Reply

    @六日博
    style.zh_CN.css 这个文件的第 25 行,你可以把那个 12px 稍微改大一点。

  5. 23:58, 2010-04-17林木木  / Reply

    哪天折腾得不爽了就加上这行代码!

  6. 12:54, 2010-04-18A.shun  / Reply

    国情决定IE6会存在很久。

    主题不去支持它就是了

  7. 21:36, 2010-04-20Firm  / Reply

    IE6很早以前就被我放弃了

  8. 17:22, 2010-04-23LMS  / Reply

    你这个抓图看起来像ie8啊

  9. 17:25, 2010-04-23Sinnyn  / Reply

    @LMS
    Vista下的Crash window就是长这个样子的。毕竟后台的handler就是用系统的。

  10. 17:26, 2010-04-23LMS  / Reply

    @Sinnyn
    原来是vista 我把它看成win7了。

  11. 02:03, 2010-05-27camellias  / Reply

    呵呵转载到我那里了,注明从你这里转载的,同意否?

  12. 10:37, 2010-05-27Sinnyn  / Reply

    @camellias
    荣幸之至

  13. 12:26, 2010-05-27Justice  / Reply

  14. 20:59, 2010-06-20zhiwei  / Reply

    IE6早就该被kill掉了。
    我博客现在都不再支持IE6了。

  15. 17:43, 2010-07-16包子  / Reply

    万恶的IE6 那么多人还在用,真无奈。

Leave a Reply

Allowed Tags - You may use these HTML tags and attributes in your comment.

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Pingbacks (0)

› No pingbacks yet.