當我使用網絡時,我經常會通過彈出窗口報告運行時錯誤(通常是javascript)。這可以使許多其他優秀網站上的用戶體驗真的不令人滿意,也讓我想知道我無法訪問哪些功能。網頁運行時錯誤
爲什麼這是一個這樣的常見問題?這是缺乏測試還是瀏覽器兼容性問題?可以做些什麼來最小化這種問題?
意外地,我沒有選中「顯示關於每個腳本錯誤的通知」。
當我使用網絡時,我經常會通過彈出窗口報告運行時錯誤(通常是javascript)。這可以使許多其他優秀網站上的用戶體驗真的不令人滿意,也讓我想知道我無法訪問哪些功能。網頁運行時錯誤
爲什麼這是一個這樣的常見問題?這是缺乏測試還是瀏覽器兼容性問題?可以做些什麼來最小化這種問題?
意外地,我沒有選中「顯示關於每個腳本錯誤的通知」。
它的一些問題。
在JavaScript中犯錯很容易。直到最近,Aptana還沒有很多用於編寫JavaScript的好工具。沒有語法檢查或編譯的好處,小的打字錯誤可以使其進入頁面。除此之外,有時候在一個瀏覽器中正常工作的代碼會導致另一個瀏覽器出錯。例如,我看到一個jQuery插件,它在IE中不起作用,但在其他所有瀏覽器中都沒問題。它變成了一個沒有'var'關鍵字的變量。火狐瀏覽器和Safari瀏覽器都可以,因爲IE不是,所以編寫代碼的人甚至都不知道這是一個問題。
我把它歸結爲缺乏測試。
是的,問題通常是測試。大多數嚴重開發人員將嘗試在許多瀏覽器中測試他們的網頁,但有很多瀏覽器和版本,因此您無法真正測試它們。
我通常會在使用Opera和Firefox進行設計時進行測試,而我的使用Mac的同事也在Safari中測試過它;然後不時引導一個Vista盒子(我正在運行linux和IE的linux版本並不可靠,以複製所有奇怪的IE行爲)並在IE(通常是7和8測試版)上測試它。我會推薦給任何web開發者而不是來設計使用IE!錯誤最多的網站顯然是「爲IE設計的」,因爲它們幾乎不能在其他瀏覽器中運行,並且會出現更多錯誤。如果你設計使用標準和測試,使用相對標準的兼容瀏覽器,如Opera,Firefox和Safari,然後添加可怕的黑客IE瀏覽器,最好使用conditional comments(雖然它是非標準和專有的,幸運的是,正確地認爲,由真正commendt瀏覽器,所以你不會打破工作代碼)你有更少的問題。
錯誤的另一個原因是,一個使用框架設計爲解決瀏覽器差異和副作用,或者可能僅僅是因爲錯誤,在一些瀏覽器中彈出錯誤消息。我當然沒有時間去修正一個框架來刪除錯誤信息,除非我可以解決這個問題並且基本上可以工作,否則我必須忽略這些錯誤信息,可能會提交一份報告並希望它能夠修復下一個版本(甚至更好的希望IE突然和神奇地不再存在:)
對於JavaScript,EcmaUnit存在並已存在一段時間,似乎(http://debris.demon.nl/)。 (免責聲明:我沒有任何經驗:) – warp 2008-11-11 20:43:04