โปรแกรมทำงานของบริการส่วนขยายจะมีการติดตั้งและอัปเดตต่างออกไปจาก Web Service Worker หน้านี้จะอธิบายถึงความแตกต่างเหล่านั้น
ลงทะเบียน Service Worker
หากต้องการลงทะเบียนโปรแกรมทำงานของบริการส่วนขยาย ให้ระบุในช่อง "background"
ของไฟล์ manifest.json
ใช้คีย์ "service_worker"
ซึ่งระบุไฟล์ JavaScript ไฟล์เดียว Service Worker ในหน้าเว็บหรือเว็บแอปจะลงทะเบียน Service Worker ด้วยการตรวจหาฟีเจอร์สำหรับ serviceWorker
ใน navigator
ก่อน แล้วจึงเรียกใช้ register()
ในการตรวจหาฟีเจอร์ วิธีนี้ใช้ไม่ได้กับส่วนขยาย
{
"name": "Awesome Test Extension",
...
"background": {
"service_worker": "service-worker.js"
},
...
}
นำเข้าสคริปต์
การนำเข้าสคริปต์ไปยังโปรแกรมทำงานของบริการมี 2 วิธี ได้แก่ คำสั่ง import
และเมธอด importScripts()
โปรดทราบว่าระบบไม่รองรับ import()
หรือที่มักเรียกกันว่าการนำเข้าแบบไดนามิก
หากต้องการใช้คำสั่ง import
ให้เพิ่มช่อง "type"
ลงในไฟล์ Manifest และระบุ "module"
เช่น
"background": {
"service_worker": "service-worker.js",
"type": "module"
}
จากนั้นใช้ import
ตามปกติ โปรดทราบว่าระบบไม่รองรับการยืนยันการนำเข้า
import { tldLocales } from './locales.js';
ใช้ importScripts()
แบบเดียวกับที่ใช้ใน Web Service Worker
importScripts('locales.js');
อัปเดต
หากต้องการอัปเดตโปรแกรมทำงานของบริการ ให้เผยแพร่ส่วนขยายเวอร์ชันใหม่ใน Chrome เว็บสโตร์ คุณไม่สามารถแก้ปัญหานี้ด้วยการโหลดส่วนขยายจากเซิร์ฟเวอร์ เพื่อความปลอดภัยไฟล์ Manifest V3 ไม่รองรับโค้ดที่โฮสต์จากระยะไกล Service Worker ต้องเป็นส่วนหนึ่งของแพ็กเกจส่วนขยาย