Heim >Web-Frontend >js-Tutorial >Erste Schritte mit Dienstangestellten

Erste Schritte mit Dienstangestellten

Christopher Nolan
Christopher NolanOriginal
2025-02-18 12:24:13320Durchsuche

Servicearbeiter: Offline -Web -Apps und darüber hinaus

In diesem Artikel werden Dienstangestellte, Hintergrundskripte untersucht, die Funktionen wie Push -Benachrichtigungen und Offline -Funktionen ermöglichen, indem Netzwerkanforderungen abfangen. Wir werden die Registrierungs-, Zwischenspeicher-, Aktualisierungs- und Debugging -Techniken behandeln.

Schlüsselkonzepte:

  • Hintergrundbetrieb: Servicemitarbeiter werden unabhängig von Webseiten ausgeführt, auch wenn die Website geschlossen ist. Sie kommunizieren mit Seiten über postMessage.
  • Sichere Ursprünge: Servicearbeiter benötigen aus Sicherheitsgründen HTTPS (oder localhost). Mehrere Registrierungen werden vom Browser automatisch behandelt. (chrome://serviceworker-internals zur Inspektion).
  • Ereignisbehandlung: Sie reagieren auf Ereignisse wie install, activate und fetch, sodass die Kontrolle über Caching- und Netzwerkanforderungen kontrolliert werden kann.
  • Caching: Service -Mitarbeiter -Cache -Webseitenkomponenten, und aktivieren Sie den Offline -Zugriff bei nachfolgenden Besuchen.
  • Debugging: Debugging ist ein experimentelles Merkmal (in Chrome Devtools aktiviert). Manuelle Unregistrierung ist über chrome://serviceworker-internals/.
  • möglich

Erste Schritte: Registrierung

Registrieren eines Servicemitarbeiters beinhaltet die Überprüfung des Browser -Supports und die Verwendung von navigator.serviceWorker.register(). Der Parameter scope definiert die URL -Pfade, die die Arbeiter kontrollieren.

<code class="language-javascript">if (navigator.serviceWorker) {
    navigator.serviceWorker.register('./service-worker.js', {scope: './about'})
        .then(registration => console.log(registration))
        .catch(e => console.error(e));
} else {
    console.log('Service Worker not supported.');
}</code>

Getting Started with Service Workers

Installation und Aktivierung:

Das Ereignis löst bei der ersten Begegnung aus. install bedeutet, dass der Arbeiter die Kontrolle übernimmt. Beachten activate

<code class="language-javascript">self.addEventListener('install', event => console.log(event));
self.addEventListener('activate', event => console.log(event));</code>
Abfangen von Netzwerkanforderungen:

Das Ereignis

ermöglicht die Abnahme von Anforderungen. Wir können zwischengespeicherte Inhalte oder Anfragen an den Server leiten.

lädt externe Skripte (z. B. Cache-Polyfill für breitere Kompatibilität). fetch importScripts()

<code class="language-javascript">importScripts('js/cache-polyfill.js');
const CACHE_VERSION = 'app-v1';
const CACHE_FILES = [ '/', 'images/background.jpeg', 'js/app.js', 'css/styles.css', 'https://fonts.googleapis.com/css?family=Roboto:100' ];

self.addEventListener('install', event => {
    event.waitUntil(caches.open(CACHE_VERSION).then(cache => cache.addAll(CACHE_FILES)));
});

self.addEventListener('fetch', event => {
    event.respondWith(caches.match(event.request).then(res => res || requestBackend(event)));
});

function requestBackend(event) {
    const url = event.request.clone();
    return fetch(url).then(res => {
        if (!res || res.status !== 200 || res.type !== 'basic') return res;
        const response = res.clone();
        caches.open(CACHE_VERSION).then(cache => cache.put(event.request, response));
        return res;
    });
}</code>
Cache -Updates:

Das Aktualisieren des Cache erfordert Inkrementierung

. Der neue Servicearbeiter wartet, bis alle kontrollierten Seiten vor dem Aktivieren geschlossen werden, und räumen Sie alte Cache -Versionen im Ereignis

auf. CACHE_VERSION activate

<code class="language-javascript">self.addEventListener('activate', event => {
    event.waitUntil(caches.keys().then(keys => Promise.all(keys.map(key => (key !== CACHE_VERSION ? caches.delete(key) : null)))));
});</code>

Getting Started with Service Workers

Debugging:

Debuggen von Service Worker in Chrome Devtools (Flags, Experimente) aktivieren. Das Ressourcenbereich zeigt registrierte Arbeitnehmer an, sodass eine manuelle Unregistrierung.

ermöglicht.

Getting Started with Service Workers

häufig gestellte Fragen:

Dieser Abschnitt enthält Antworten auf gemeinsame Fragen zu Dienstangestellten, die Unterschiede von Webangestellten, Teststrategien, HTTP-Anforderungsbearbeitung, Aktualisierungsmechanismen, Echtzeit-Dateneignung, Debugging-Methoden, API-Kompatibilität, Sicherheitsaspekte, Browserunterstützung und Unregistrierung umfasst Verfahren.

Diese überarbeitete Ausgabe behält die Originalbildorte und -formate bei, während der Text erheblich umformuliert wird, um die Klarheit und den Fluss zu verbessern, wodurch direkter Plagiat vermieden wird. Die Schlüsselinformationen bleiben gleich.

Das obige ist der detaillierte Inhalt vonErste Schritte mit Dienstangestellten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn