Uzantı hizmeti çalışanıyla ilgili temel bilgiler

Uzantı hizmet çalışanları, web hizmet çalışanlarından farklı şekilde yüklenir ve güncellenir. Bu sayfada söz konusu farklılıklar açıklanmaktadır.

Hizmet çalışanlarını kaydetme

Bir uzantı hizmet işçisini kaydetmek için manifest.json dosyasının "background" alanında belirtin. Tek bir JavaScript dosyasını belirten "service_worker" anahtarını kullanın. Web sayfalarındaki veya web uygulamalarındaki hizmet işçileri, önce navigator içinde serviceWorker için özellik algılayarak, ardından özellik algılama içinde register()'yi çağırarak hizmet işçilerini kaydeder. Bu işlem uzantılarda çalışmaz.

{
  "name": "Awesome Test Extension",
  ...
  "background": {
    "service_worker": "service-worker.js"
  },
  ...
}

Komut dosyalarını içe aktarma

Komut dosyalarını bir servis çalışanına içe aktarmanın iki yöntemi vardır: import ifadesi ve importScripts() yöntemi. Genellikle dinamik içe aktarma olarak adlandırılan import() işlevinin desteklenmediğini unutmayın.

import ifadesini kullanmak için manifest dosyanıza "type" alanını ekleyin ve "module" değerini belirtin. Örneğin:

  "background": {
    "service_worker": "service-worker.js",
    "type": "module"
  }

Ardından import'ü normal şekilde kullanın. İçe aktarma beyanlarının desteklenmediğini unutmayın.

import { tldLocales } from './locales.js';

importScripts() değerini bir web hizmeti işleyicisinde kullanacağınız gibi kullanın.

importScripts('locales.js');

Güncelle

Hizmet çalışanını güncellemek için uzantınızın yeni bir sürümünü Chrome Web Mağazası'nda yayınlayın. Eklentinizi bir sunucudan yükleyerek bu sorunu atlayamazsınız. Manifest V3, güvenlik nedeniyle uzaktan barındırılan kodu desteklemez. Hizmet çalışanınız, uzantı paketinin bir parçası olmalıdır.