一行CSS把IE8搞死

前一陣子寫一個網站,一發佈出去立刻有使用者哀號,每次一開就直接讓IE當掉強制關閉。這簡直是太令人莫名其妙了。我明明測試過了IE7/IE8/IE9啊。好吧,其實我是用IE9開到相容模式測試IE7/IE8。但是也沒辦法啊,M$FT不讓我同時安裝多個IE,甚至也不能降級啊。於是我就這麼踩到了這個莫名其妙的bug。

只出現在XP上的IE8的問題。而且只要你的CSS檔案中有指定body的background-image(如下),那麼一開啟頁面,IE8就開始隨意當機(Random Crash)。

 

body{
 background: url(../images/bg2.png) 50% 0 repeat-y;
  color:#7C7C7C;
 font: normal 12px "Helvetica Neue", Helvetica, Verdana, Arial,sans-serif !important;
 margin: 0px;
 padding: 0px;
}

一開始的時候以為一定是我哪邊JavaScript寫爛了,所以一直在刪除JS想要narrow down範圍,一直到我覺得我快把code砍光的時候,我才想到,該不會是jQuery爛了?然後我就去查一下我用的jQuery1.6.2跟IE crash有什麼關係。果然出來一堆。頓時覺得自己真是蠢啊,浪費了好多時間。那就更新到最新的jQuery吧。結果就好了。

這時候當然就想知道為什麼這麼神奇的CSS會導致IE GPF(General Protection Fault),啊,好久沒講GP了XD。好吧,結果就是沒人知道原因。jQuery的issue management也沒寫出root cause。如果有好心人知道原因記得告訴我一下。



Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *