跳轉至

建立 2026-09-17 更新 2026-09-17

除錯與測試

Chrome Extension 的程式碼分散在好幾個獨立的執行環境中(見 核心架構),每個環境都有各自的 Console 與檢查方式,不像一般網頁只有一個開發者工具可以看。搞懂去哪裡找錯誤訊息,能省下大量除錯時間。

各元件對應的檢查方式

元件 如何開啟 DevTools
Background Service Worker chrome://extensions → 該擴充功能卡片 → 點擊「服務工作者(Service worker)」連結
Popup 頁面 點擊工具列圖示打開 popup 後,在 popup 上按右鍵選「檢查」
Options 頁面 開啟 Options 頁面後,直接按 F12 或右鍵「檢查」,與一般網頁相同
Content Script 開啟該 Content Script 所在的網頁,按 F12,訊息會顯示在該網頁自己的 Console(可以在右上角切換 context 篩選來源)

檢查擴充功能層級的錯誤

chrome://extensions 的每張擴充功能卡片上,如果有執行期錯誤(例如 manifest.json 格式錯誤、未捕捉的例外),會出現紅色的「錯誤(Errors)」按鈕,點擊可以看到完整的堆疊追蹤(stack trace),這是排查「擴充功能載入失敗」或「某個功能完全沒反應」最先要看的地方。

開發迴圈:修改、重新載入、測試

  1. 修改程式碼並存檔。
  2. 回到 chrome://extensions,點擊該擴充功能卡片上的重新載入圖示。
  3. 如果只改了 Content Script,還要重新整理該網頁,新版程式碼才會生效。
  4. 重新觸發功能(點擊圖示、重新整理網頁等),確認結果。

manifest.json 支援 "key" 欄位可以固定擴充功能 ID,開發階段不需要,但如果要測試依賴固定 ID 的功能(例如 OAuth 回呼網址),可以額外設定。

常見錯誤與排查方向

  • Popup 打開後馬上關閉、看不到內容:多半是 popup.htmlpopup.js 有語法錯誤,用「檢查」開啟 popup 的 DevTools 查看 Console。
  • chrome.storage 或其他 API 回傳 undefined:檢查 manifest.jsonpermissions 是否漏了對應項目。
  • Content Script 完全沒執行:確認 matches 規則是否真的符合目前網址,以及是否忘記重新整理網頁。
  • 訊息傳遞收不到回應:檢查 onMessage 監聽器是否忘了在非同步情境下 return true,見 訊息傳遞

推薦影音

Chrome DevTools Tips:除錯 Chrome Extension

簡述:Chrome 官方 DevTools Tips 系列影片,示範如何用 DevTools 檢查擴充功能各個元件、找出執行期錯誤,短短幾分鐘就能學會關鍵技巧。

下一步

確認功能都正常運作後,前往 打包與發布到 Chrome Web Store,把擴充功能分享給其他使用者。