JavaScript 錯誤疑難排解
什麼是 JavaScript?
JavaScript 是一種直接在瀏覽器(而非伺服器)上執行的程式語言。這使其能快速回應使用者動作(如將商品加入購物車或更新數量),無需重新載入整個頁面。
單一 JavaScript 錯誤可能中斷這些功能並影響同一頁面上的其他功能。瞭解 JavaScript 在網站中的角色有助於有效識別並解決這些錯誤。
JavaScript 如何與 WooCommerce 搭配運作?
在 WooCommerce 中,JavaScript 在增強網站功能方面扮演關鍵角色。以下是 JavaScript 常用的一些區域:
- 購物車與結帳頁面:當顧客變更物流地址時,JavaScript 會自動更新物流方式和費用。
- 結帳時的金流方式:根據顧客的帳單地址載入正確的金流選項。
- 變體商品頁面:當顧客選擇商品變體時,JavaScript 會載入變體圖片和庫存狀態。
- 加入購物車按鈕:允許顧客使用 AJAX 直接從商店和分類頁面將商品加入購物車,頁面不會重新載入。
- WP-Admin 商品管理:JavaScript 支援商品標籤、變體清單,以及商品和分類的搜尋框。
如果這些元素無法正常運作(例如載入圖示無限期旋轉或圖片未更新),可能是 JavaScript 錯誤造成問題。
如何找到 JavaScript 錯誤
可使用大多數瀏覽器內建的開發者工具來找出 JavaScript 錯誤。以下是在 MacOS 和 Windows 上的 Chrome、Safari 和 Firefox 中存取這些工具的快速概覽。
Google Chrome
- MacOS 和 Windows:在 Chrome 中開啟 WooCommerce 網站。
- 在頁面上按右鍵並選取檢查,或按
Cmd+Option+J(Mac)或Ctrl+Shift+J(Windows)開啟主控台。 - 在主控台中尋找任何紅色錯誤訊息。這些訊息會突顯可能影響網站功能的 JavaScript 錯誤。
Safari
- 僅限 MacOS(Windows 上不提供開發者工具):在 Safari 中開啟 WooCommerce 網站。
- 首先,透過 Safari > 設定啟用開發選單。在進階標籤下,勾選顯示網頁開發者功能方塊。
- 前往 開發 > 顯示 JavaScript 主控台或按
Cmd+Option+C開啟主控台。 - 尋找紅色錯誤,這表示 JavaScript 問題。
Mozilla Firefox
- MacOS 和 Windows:在 Firefox 中開啟 WooCommerce 網站。
- 在頁面上按右鍵並選取檢查,或按
Cmd+Option+K(Mac)或Ctrl+Shift+K(Windows)開啟主控台。 - 任何 JavaScript 錯誤都會以紅色文字顯示,顯示網站上可能發生問題的位置。
使用這些工具,可以識別 JavaScript 錯誤並開始有效進行疑難排解。
要尋找的錯誤
以下是要尋找的內容:
- GET 或 POST 訊息:這些訊息表示某些內容未從伺服器正確載入,例如訂單詳情未更新或圖片連結損壞。雖然這些通常只是關於遺失資源的警告,但如果未造成可見問題,可在主控台設定 > 隱藏網路中隱藏。
- 白色和黃色訊息:這些通常是 HTTPS 警告或除錯訊息,大多無害且不會影響網站功能。
- 紅色錯誤(不包括 GET 或 POST):這些訊息指向可能中斷 WooCommerce 網站功能的實際 JavaScript 錯誤。請專注於這些紅色錯誤訊息,因為它們最有可能造成功能問題。
如何解讀 JavaScript 錯誤
JavaScript 錯誤有多種類型,其中 SyntaxError 最具破壞性:
- SyntaxError:此錯誤表示瀏覽器完全無法讀取 JavaScript 程式碼結構,導致無法解譯頁面上的任何 JavaScript。一個外掛或擴充功能中的 SyntaxError 甚至可能破壞透過不相關外掛或佈景主題載入的 JavaScript,影響整個網站的功能。
- 其他 JavaScript 錯誤:非 SyntaxError 的錯誤可能僅影響發生錯誤的特定程式碼部分。然而,這些錯誤通常會產生連鎖反應,同時破壞頁面上的其他 JavaScript 功能。
看到錯誤時,首先檢查訊息以瞭解原因。快速搜尋通常有助於識別問題來源和可能的解決方案。
找出 JavaScript 錯誤的來源
錯誤訊息通常會在右上角顯示檔案名稱。將滑鼠懸停在此檔案名稱上可查看檔案的完整路徑,或按右鍵並選取複製連結位址來檢視 URL。
例如:
如果檔案路徑顯示 https://woostore.mystagingwebsite.com/wp-content/plugins/woocommerce-subscriptions/assets/js/variable.min.js?ver=4.9.5,此檔案可能屬於 WooCommerce Subscriptions 外掛。如果在此處遇到錯誤,請先嘗試停用此外掛,再執行完整的衝突測試。
與檔案名稱相關的錯誤通常表示外掛/擴充功能中有損壞的程式碼,或 JavaScript 程式庫的不同版本之間存在衝突。
使用錯誤訊息
某些情況下,錯誤訊息本身會提供有關問題的有用資訊。例如,來自金流閘道的訊息可能表示不支援某個國家/地區。透過 WooCommerce > 一般設定調整網站 WP 管理儀表板中的國家/地區設定,可能無需停用外掛/擴充功能即可解決此類錯誤。
當沒有檔案名稱時
有時錯誤不會指定特定外掛/擴充功能,而是參照 index 或 cache 等一般檔案。
在這些情況下,請嘗試以下方法:
- 停用快取和最佳化外掛:快取外掛經常干擾 JavaScript 相依性,因此暫時停用可協助識別是否為錯誤原因。
- 執行完整衝突測試:如果問題持續存在,請停用所有外掛和擴充功能(WooCommerce 除外)並切換至預設佈景主題,查看錯誤是否仍然存在。
- 檢查文字小工具中的 JavaScript:有時新增至文字小工具的自訂 JavaScript 可能導致錯誤。檢視這些小工具以確保它們不會引入問題。
這些步驟可協助隔離並解決 WooCommerce 網站中 JavaScript 錯誤的來源。