[英]Uncaught TypeError: Cannot read property 'length' of undefined
我有一個插件,可以訪問許多元素的length
屬性。 但是,javascript控制台指向jquery.min.js的第12行。
如何回溯以查找插件中的違規行?
如果您使用縮小的腳本,任何調試器(如完全最好的firebug)將向您顯示相同的有問題的行,並且此信息是無用的(縮小的腳本難以閱讀和理解,並且它們寫在一行中)。
幾乎沒有辦法解決這樣的問題:
如果您使用Chrome,可以轉到"View > Developer > Developer Tools"
使用內置的開發人員工具(我更喜歡Firebug)。 控制台中的錯誤通常會在它之前有一個小的向右箭頭,點擊它時會顯示有關錯誤的更多詳細信息。
Javascript錯誤不太可能來自庫,而是引用該庫中的方法/函數的代碼,因此您希望查看控制台右側列出的所有問題行並選擇對應的行您編寫的代碼將是您的問題所在。
通過查看jQuery的源代碼,您不太可能找出問題所在。 問題出在您的代碼中。 只是jQuery不能使用傳遞給它的未定義變量。
我經常發現這些模糊的框架錯誤是AJAX請求錯誤的結果。 如果是這種情況,您的Developer Tool Of Choice很可能包含一個Network選項卡,這可能會突出顯示錯誤的真正來源。
如果您使用jQuery(或任何JavaScript框架)來處理AJAX請求的結果,則格式化和處理錯誤都是額外的且經常被忽略的步驟。
除了調試器/ firebug之外,跟蹤它的一種簡單方法(如果你有一個沙盒版本的網站)是單獨注釋掉每個插件並檢查錯誤是否消失。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.