Worker dịch vụ tiện ích được cài đặt và cập nhật theo cách khác với worker dịch vụ web. Trang này giải thích những điểm khác biệt đó.
Đăng ký trình chạy dịch vụ
Để đăng ký trình chạy dịch vụ tiện ích, hãy chỉ định trình chạy đó trong trường "background"
của tệp manifest.json
. Sử dụng khoá "service_worker"
để chỉ định một tệp JavaScript. Worker dịch vụ trong trang web hoặc ứng dụng web đăng ký worker dịch vụ bằng cách phát hiện tính năng đầu tiên cho serviceWorker
trong navigator
, sau đó gọi register()
bên trong tính năng phát hiện. Cách này không hiệu quả với các tiện ích.
{
"name": "Awesome Test Extension",
...
"background": {
"service_worker": "service-worker.js"
},
...
}
Nhập tập lệnh
Có hai phương thức để nhập tập lệnh vào worker dịch vụ: câu lệnh import
và phương thức importScripts()
. Xin lưu ý rằng import()
, thường được gọi là nhập động, không được hỗ trợ.
Để sử dụng câu lệnh import
, hãy thêm trường "type"
vào tệp kê khai và chỉ định "module"
. Ví dụ:
"background": {
"service_worker": "service-worker.js",
"type": "module"
}
Sau đó, hãy sử dụng import
như bình thường. Xin lưu ý rằng chúng tôi không hỗ trợ câu nhận định nhập.
import { tldLocales } from './locales.js';
Sử dụng importScripts()
như bạn làm trong worker dịch vụ web.
importScripts('locales.js');
Cập nhật
Để cập nhật worker dịch vụ, hãy phát hành phiên bản mới của tiện ích lên Cửa hàng Chrome trực tuyến. Bạn không thể khắc phục vấn đề này bằng cách tải tiện ích từ máy chủ. Vì lý do bảo mật, Manifest V3 không hỗ trợ mã được lưu trữ từ xa. Worker của dịch vụ phải thuộc gói tiện ích.