我找過最...的 bug

最近因為總總原因,工作上在弄的東西要開始處理 IE 的相容問題,讓我想起我寫 JavaScript 以來,找過最難找的一個 bug,當然不意外的,這是一個 IE 上發生的錯誤,因為已經有兩年以上的時間了,所以一些細節其實已經不記得了。

一開始我看到的是有個 JavaScript 錯誤,以前 IE 的 JavaScript 錯誤是只會說有錯誤,錯誤訊息沒什麼幫助,好一點你會看到是哪一行(不過沒說是哪個檔案喔~),於是,我看到了一個不記得是六位數還是七位數的數字,總之是個大到全站的程式碼加起來都沒這麼多的數字...

要定位錯誤發生的位置還有個方法,就是用除錯工具,那時候就是用 Script Debugger,然後就會比較接近現在除錯工具那樣用法,不過想當然,那神祕行號的錯誤自然是用 Script Debugger 也定位不到。

到這種情形就只省下最後一招了,排除法,一步一步的把網頁內用到的 script 拿掉,然後看錯誤什麼時候消失,理論上就可以找到錯誤發生的位置了,理應當是這樣的,我一直是這樣相信的,直到我發現頁面上已經被我砍到沒有 script 了,而錯誤訊息依舊。

最後還好我沒放棄,繼續移除其他東西,結果發現這其實是一個 CSS pseudo-class 造成的 JavaScript 錯誤訊息,當下實在是不知道要說什麼好啊~~