Available in Chrome 49+ | View on GitHub | Browse Samples
WindowClient.navigate()
allows a service worker to cause a web
page to navigate to a specific URL.
This sample shows how WindowClient.navigate()
can be called
within a service worker's activate
handler, to navigate to
activated.html
. If your browser supports service workers, and
supports WindowClient.navigate()
, then you'll be automatically
navigated away from this page once the service worker activates.
Note that the activate
event is only fired once per version of
a given service worker registration. If you'd like to trigger it again to
test out the WindowClient.navigate()
behavior, you can revisit
this page in a Chrome
Incognito window, which will trigger a fresh
service worker registration.
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('service-worker.js');
}
self.addEventListener('activate', event => {
event.waitUntil(self.clients.claim().then(() => {
// See https://developer.mozilla.org/en-US/docs/Web/API/Clients/matchAll
return self.clients.matchAll({type: 'window'});
}).then(clients => {
return clients.map(client => {
// Check to make sure WindowClient.navigate() is supported.
if ('navigate' in client) {
return client.navigate('activated.html');
}
});
}));
});