Ich versuchte, das Fetch-Ereignis in Service-Arbeiter zu verwenden, aber er arbeitete nicht für mich.fetch nicht in Service-Arbeiter
self.addEventListener('activate', function(event) {
console.log('Activated', event);
fetch('/embed_testing/notification/main.js').then(response =>
function() {
console.log(response)
});
});
self.addEventListener('fetch', function(event) {
console.log("heyyyo");
if (event.request.url === new URL('/', location).href) {
event.respondWith(
new Response("<h1>Hello!</h1>", {
headers: {'Content-Type': 'text/html'}
})
)
}
});
irgendwelche Ideen, warum es nicht funktioniert?
Sie mir geben können ein beispiel, wie man fetch in service worker benutzt, um eine js in meinem projekt zu bekommen? – user6609184
Ich bin mir nicht sicher, was du meinst? Wenn ich raten müsste, würden Sie vielleicht darüber sprechen, wie Sie eine externe JavaScript-Datei in Ihren Service-Mitarbeiter importieren, damit Sie diese in Ihrem globalen Umfeld nutzen können? Wenn das der Fall ist, dann möchten Sie die Methode ['importScripts()'] (https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/importScripts) verwenden, die synchron anfordert und ein externes Skript auswerten –