2011-08-24 80 views
11

我最近被要求幫助調試一個網站導致IE8在某些條件下崩潰的問題。擁有該網站的公司無法重現該問題,但他們收到了來自受影響用戶的許多報告。JQuery和IE8崩潰檢測

我能夠重現問題,最終發現它是由this jQuery/IE 8 issue造成的。當使用CSS將背景圖像應用於body標記並加載jQuery時,會出現問題。一篇關於jQuery bug bug的帖子提供了this jsFiddle example,對我來說,至少對於這個問題來說是一貫的。

我的問題是,在測試環境中可靠地再現這一點。任何人都可以建議方法來測試這種事情?儘管複製了jsFiddle示例使用的確切代碼,但我無法始終在本地重現問題 - 它可能依賴於特定時間,但我不確定。我想添加一些東西到自動化測試套件來檢查這個問題(之前jQuery修復已經被應用,並且在以後的版本中被意外刪除)。

我該如何測試瀏覽器崩潰?該網站是用Perl編寫的,一些自動化測試使用Selenium和WWW :: Mechanize進行。

注:我認爲在Pro Webmasters張貼這一點,但在看過FAQ,我覺得它更適合於左右。

+2

我認爲這是網站管理員和SO之間的一半。 SE網站之間的界限有時令人難以置信。 –

回答

7

我不認爲你可以做任何事情,除了運行單元測試和壓力測試以及儘可能廣泛的各種因素組合。

這就是所謂的「Mandelbugs」的性質。

+2

爲Mandlebug +1 - 我喜歡它:-) – Mike

0

您可以嘗試使用一些提供跨平臺,跨瀏覽器測試功能的SauceLabs產品進行測試。

1

鑑於唯一一致的事情似乎是,如果您在樣式聲明之前加載JQ時沒有問題,我會嘗試在CSS聲明/鏈接CSS文件加載後以不同間隔加載JQ。

從樣式建立後立即到DOM準備好之後。我的猜測是JQ引用了IE8已經提供的東西,因爲它尚未準備好共享,因爲它的DOM加載過程中發生了一些真正愚蠢的事情。

即使您重新打開應用程序,我也看到多個開發人員工具事件在IE8中永久崩潰。如果不是這樣的話,我會認爲這樣的錯誤不太可能。編輯:公平地說,JQ在1.62中可能會做些奇怪的事情,或者這個bug在一般情況下會更爲人熟知。 IE8已經過去幾年了。