許多人都非常討厭Internet Explorer,在西方萬聖節即將到來之際,讓我們來看一個真正嚇人的東西——如何用一段簡單的HTML和CSS,將任何版本的IE搞死。我們只需要簡單地打開任意文本編輯器,將下面的代碼復制進去,然後保存文件,例如SomeFilename.html。
<html><head>
<style type="text/css">
#a {
margin:0 10px 10px;
}
#b {
width:100%;
}
</style>
<title>IE Crasher</title>
</head>
<body>
<table><tr><td>
<div id="a">
<form id="b">
<input type="text" name="test"/>
</div>
</td><td width="1"></td></tr></table>
</body></html>
然後用Internet Explorer打開它——哈哈!它很慘地死給你看了。
這個bug幾乎存在於現在流行的所有IE版本,從IE6到剛剛發布的Internet Explorer 9的第6個平台預覽版。在IE6中,該頁面往往顯示為空白,但是整個窗口都無法交互。在IE8中,崩潰來得很徹底。而IE9 Beta增強了堅固性,經過我的實測,這個頁面又是會導致整個進程無響應,而有時IE9會提示你網頁存在的問題,但是這都無法避免崩潰的現實。
事實上,很早就有人發現過這個問題了,而且還有一個專門的網站(http://crashie8.com/,請謹慎傳播此鏈接)。除了IE以外的浏覽器打開那個頁面都不會有任何問題,但是IE卻莫名其妙地崩潰。
當然,如果你細心的話,會發現上面的HTML代碼中<form>標簽沒有閉合。我們需要在<input>標簽後使用</form>閉合標簽才能讓這段代碼符合規范。規范的代碼就不會讓IE崩潰了,這樣看來似乎並不是IE的錯。
但是,當其他浏覽器都能有很高的容錯性時,IE沒有,甚至到了IE9還是沒有,這就是IE的悲劇了。