Dasar-dasar pekerja layanan ekstensi

Service worker ekstensi diinstal dan diupdate secara berbeda dari service worker web. Halaman ini menjelaskan perbedaan tersebut.

Mendaftarkan pekerja layanan

Untuk mendaftarkan pekerja layanan ekstensi, tentukan di kolom "background" file manifest.json. Gunakan kunci "service_worker", yang menentukan satu file JavaScript. Service worker di halaman web atau aplikasi web mendaftarkan service worker dengan mendeteksi fitur serviceWorker di navigator terlebih dahulu, lalu memanggil register() di dalam deteksi fitur. Fungsi ini tidak berfungsi untuk ekstensi.

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

Mengimpor skrip

Ada dua metode untuk mengimpor skrip ke pekerja layanan: pernyataan import dan metode importScripts(). Perhatikan bahwa import(), yang sering disebut impor dinamis, tidak didukung.

Untuk menggunakan pernyataan import, tambahkan kolom "type" ke manifes Anda dan tentukan "module". Contoh:

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

Kemudian, gunakan import seperti biasa. Perhatikan bahwa pernyataan impor tidak didukung.

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

Gunakan importScripts() seperti yang Anda lakukan di pekerja layanan web.

importScripts('locales.js');

Perbarui

Untuk mengupdate pekerja layanan, publikasikan versi baru ekstensi Anda ke Chrome Web Store. Anda tidak dapat mengatasinya dengan memuat ekstensi dari server. Karena alasan keamanan, Manifes V3 tidak mendukung kode yang dihosting dari jarak jauh. Pekerja layanan Anda harus menjadi bagian dari paket ekstensi.