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ı hizmeti çalışanı kaydettirmek için manifest.json dosyasının "background" alanında bunu 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ı 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ş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 Chrome Web Mağazası'nda uzantınızın yeni bir sürümünü yayınlayın. Bu sorunu, uzantınızı bir sunucudan yükleyerek 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.