環境
問題/症狀
本指南會說明如何在瀏覽器中診斷JavaScript問題。
JavaScript 錯誤示例
Uncaught TypeError: $(...).not(...).draggable is not a function
at HTMLDocument. (lightbox.js:45)
at HTMLDocument.dispatch (jquery.js:4665)
at HTMLDocument.elemData.handle (jquery.js:4333)
at Object.trigger (jquery.js:4574)
at HTMLElement. (jquery.js:5284)
at Function.each (jquery.js:384)
at jQuery.fn.init.each (jquery.js:136)
at jQuery.fn.init.trigger (jquery.js:5283)
A. Javascript 偵錯技巧
B. 用戶端資料庫偵錯模式
啟用用戶端資料庫偵錯模式對於搜尋組成用戶端資料庫的單獨檔案可能很有幫助。
在Chrome瀏覽器中開啟頁面至有錯誤的頁面。
在URL結尾的位址列中,在任何URL錨點之前,新增此查詢字串參數"debugClientLibs=true"。
例如:http://localhost:4502/siteadmin?debugClientLibs=true#/content/we-retail
此選項使用戶端資料庫可單獨載入其所有檔案,而不是將其合併。
在觸控式 UI 中,啟用用戶端資料庫的偵錯模式可能會破壞頁面。 但是,它仍然是一個有用的功能,因為它可用於檢視用戶端資料庫中哪個文件包含您正在偵錯的特定程式碼行。
在Chrome瀏覽器中(位於右上角),前往 工具=更多工具=開發人員工具
按一下「主控台"開發人員工具」面板。
應該出現 JavaScript 錯誤清單。錯誤的右側是檔案和行號的連結,其中JavaScript程式碼失敗。 按一下檔案連結。
現在你應該 來源頁簽,在代碼失敗的行上。 在代碼中設定斷點,方法是按一下右鍵行號並選擇 添加斷點。 請參閱 Google Chrome檔案 有關斷點的詳細資訊。
重新整理頁面,您就可以開始偵錯 JavaScript。
C. 停用縮製
在偵錯期間,如果 javascript 已縮製,有助於在瀏覽器中對其進行格式化或停用縮製。
前往http://aemhost/system/console/configMgr/com.adobe.granite.ui.clientlibs.impl.HtmlLibraryManagerImpl
取消勾選縮製
按一下儲存。
重新整理您正在偵錯的頁面,javascript 將更易於供讀取和設定中斷點。
偵錯技巧
如果您無法在用戶端資料庫上停用縮製,那麼您至少可以對 javascript 進行美化功能,以進行更好的偵錯。請參閱 這篇文章 以了解在Google Chrome瀏覽器中執行此作業的方式。