dev 工作階段在檔案變更時本來就會自動重新載入。reload 針對的是自動重新載入看不到的情況:你手動改動的狀態、卡住的 service worker,或是需要在兩次執行之間取得乾淨情境的測試。
工作階段必須在控制通道解鎖的狀態下執行:用 extension dev --allow-control 啟動它。被拒絕時,錯誤訊息會指出缺少的旗標。
何時使用 reload
- 背景 worker 保留了錯誤的記憶體狀態,你想乾淨地重啟一次。
- 某個指令稿寫入了 storage 或觸發了一段流程,之後需要一個全新的情境。
- 你改了監看器視野之外的東西,想強制重新讀取。
用法
引數與旗標
各個 context 分別會重新載入什麼
background會重新啟動擴充功能本身,連帶重啟 service worker 並重新讀取 manifest。content會重新載入承載目標 content script 的分頁,讓指令稿重新注入。page只是把目標分頁當成一般頁面重新載入。
inspect --list-tabs 找出數字形式的分頁 id。
失敗情境
- 該瀏覽器沒有對應的工作階段:
E_SESSION_NOT_FOUND,並附上要執行的完整extension dev --allow-control指令。 - 工作階段執行時沒有帶
--allow-control:連線會被拒絕,錯誤訊息會指出這個旗標。 --tab指定的 id 已經不存在:E_TARGET_NOT_FOUND。- 呼叫的耗時超過
--timeout:E_TIMEOUT。
0,任何失敗都是 1。機器消費端應該讀取 --output json 輸出的信封(參見 結果信封)。

