Firefox: Service Worker: SecurityError: DOMException: The Operation is insecure

In app.js, I am checking the serviceWorker existence in navigator object and if available then registering the SW.

if ('serviceWorker' in navigator) {
    navigator.serviceWorker.register('./service-worker.js', { scope: './' })
        .then(function(registration) {
            console.log("Service Worker Registered!");
        }).catch(function(err) {
            console.log("Service Worker not registered!", err);
        });
}

When trying to register SW, I receive the below error in Firefox. I also made sure the service-worker.js file is under src directory.

enter image description here

Checking my about:config in Firefox (version 59.0.2) I had service worker and storage api enabled. So that shouldn't be an issue.

enter image description hereenter image description here

PS: The same code works fine on Chrome.

Answers:

Answer

Did you check the cookie setting in about:preferences#privacy, it must be 'keep until they expire', if you have 'keep until I close firefox' selected sw will not register.

enter image description here

you can find details on this thread: https://bugzilla.mozilla.org/show_bug.cgi?id=1429714

Answer

You can keep "Delete cookies and site data when Firefox is closed" checked, as long as you create an exception for your site. (Tested in Firefox 78.0.2)

Click on "Manage Permissions..." and enter a url (e.g. localhost:8000). Click "allow", then click "Save Changes" in the bottom right corner. Service workers (and cookies etc.) should now work for this url, but not for other urls.

Developers, note that "localhost" is not the same as e.g. "localhost:8000" (you need to specify the port number).

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.