Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import {
- VALID_SERVICE_WORKER_ENVIRONMENT,
- handleMessageFromSW
- } from '@magento/peregrine/lib/util/swUtils';
- let swRegistration = null;
- export const getRegistration = () => {
- return swRegistration;
- }
- export const registerSW = () => {
- if (VALID_SERVICE_WORKER_ENVIRONMENT && globalThis.navigator && window.navigator?.serviceWorker) {
- window.navigator?.serviceWorker?.register('/sw.js')
- .then((registration) => {
- swRegistration = registration;
- console.log('SW Registered', registration);
- })
- .catch(() => {
- /**
- * console.* statements are removed by webpack
- * in production mode. window.console.* are not.
- */
- window.console.warn('Failed to register SW.');
- });
- navigator.serviceWorker.addEventListener('message', e => {
- const { type, payload } = e.data;
- handleMessageFromSW(type, payload, e);
- });
- }
- };
- // Register the service worker
- if ('serviceWorker' in navigator) {
- window.addEventListener('load', () => {
- navigator.serviceWorker.register('/sw2.js')
- .then(registration => {
- console.log('ServiceWorker registration successful with scope: ', registration.scope);
- })
- .catch(err => {
- console.error('ServiceWorker registration failed: ', err);
- });
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment