أساسيات مشغّل خدمات الإضافات

يتم تثبيت مشغّلي خدمات الإضافات وتحديثها بشكل مختلف عن مشغّلي خدمات الويب. توضّح هذه الصفحة تلك الاختلافات.

تسجيل مشغِّلي الخدمات

لتسجيل مشغّل خدمات الإضافات، حدِّده في الحقل "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 استخدام الرموز التي تتم استضافتها عن بُعد. يجب أن يكون عامل الخدمة جزءًا من حزمة الإضافة.