擴充功能 Service 工作站的安裝和更新方式與網路服務工作站不同。本頁面將說明這些差異。
註冊 Service Worker
如要註冊擴充功能 Service Worker,請在 manifest.json
檔案的 "background"
欄位中指定該工作站。使用 "service_worker"
鍵,可指定單一 JavaScript 檔案。網頁或網頁應用程式中的 Service Worker 會先在 navigator
中針對 serviceWorker
進行功能偵測,然後在功能偵測中呼叫 register()
,藉此註冊服務工作站。這不適用於擴充功能。
{
"name": "Awesome Test Extension",
...
"background": {
"service_worker": "service-worker.js"
},
...
}
匯入指令碼
將指令碼匯入服務工作站的方法有兩種:import
陳述式和 importScripts()
方法。請注意,系統不支援 import()
,通常稱為動態匯入。
如要使用 import
陳述式,請在資訊清單中加入 "type"
欄位並指定 "module"
。例如:
"background": {
"service_worker": "service-worker.js",
"type": "module"
}
然後照常使用 import
。請注意,不支援匯入斷言。
import { tldLocales } from './locales.js';
使用 importScripts()
的方式與網路服務工作站相同。
importScripts('locales.js');
更新
如要更新 Service Worker,請將擴充功能新版本發布至 Chrome 線上應用程式商店。您無法避免這種情況,可以從伺服器載入擴充功能。基於安全考量,Manifest V3 不支援遠端代管程式碼。Service Worker 必須是擴充功能套件的一部分。