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

Uzantı hizmeti çalışanları, web hizmeti ç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

Uzantı hizmet çalışanını kaydetmek için manifest.json dosyasının "background" alanında belirtin. Tek bir JavaScript dosyası belirten "service_worker" anahtarını kullanın. Web sayfalarındaki veya web uygulamalarındaki hizmet çalışanları, ilk olarak navigator içindeki serviceWorker için özellik tespit edip ardından özellik algılamanın içinde register() çağırarak hizmet çalışanlarını kaydeder. Bu özellik uzantılarda işe yaramaz.

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

Komut dosyalarını içe aktar

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

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

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

Ardından import uygulamasını normal şekilde kullanın. İçe aktarma onaylarının desteklenmediğini unutmayın.

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

importScripts() politikasını bir web hizmeti çalışanının yaptığı gibi kullanın.

importScripts('locales.js');

Güncelle

Hizmet çalışanını güncellemek için Chrome Web Mağazası'nda uzantınızın yeni bir sürümünü yayınlayın. Uzantınızı bir sunucudan yükleyerek bu sorunu gideremezsiniz. 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.