يتم تثبيت مشغّلي خدمات الإضافات وتعديلها بشكل مختلف عن مشغّلي خدمات الويب. توضّح هذه الصفحة هذه الاختلافات.
تسجيل ملفات تشغيل الخدمات
لتسجيل مشغّل خدمات الإضافات، حدِّده في الحقل "background"
من ملف manifest.json
. استخدِم المفتاح "service_worker"
الذي يحدِّد ملف JavaScript واحدًا. تسجِّل مهام الخدمة في صفحات الويب أو تطبيقات الويب مهام الخدمة من خلال رصد الميزة أولاً serviceWorker
في navigator
ثم استدعاء 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');
تعديل
لتحديث مشغّل الخدمات، يمكنك نشر إصدار جديد من الإضافة على "سوق Chrome الإلكتروني". ولا يمكنك التحايل على ذلك عن طريق تحميل الإضافة من خادم. لأسباب تتعلق بالأمان، لا يتوافق إصدار Manifest V3 مع الرموز البرمجية المستضافة عن بُعد. يجب أن يكون عامل الخدمة جزءًا من حزمة الإضافة.