Wednesday, June 5, 2024
 Popular · Latest · Hot · Upcoming
50
rated 0 times [  51] [ 1]  / answers: 1 / hits: 127954  / 8 Years ago, thu, august 25, 2016, 12:00:00

I am currently working on service worker to handle push notification in browser. Currently I am having this SW registration failed error:




SW registration failed with error SecurityError: Failed to register a ServiceWorker: The URL protocol of the current origin ('null') is not supported.




Check client1.html and service-worker.js file below:



service-worker.js



console.log('Started', self);
self.addEventListener('install', function(event) {
self.skipWaiting();
console.log('Installed', event);
});
self.addEventListener('activate', function(event) {
console.log('Activated', event);
});
self.addEventListener('push', function(event) {
console.log('Push message received', event);
});



client1.html



<!doctype html>
<html>
<head>
<title>Client 1</title>
</head>
<body>
<script>
if('serviceWorker' in navigator){
// Register service worker
navigator.serviceWorker.register('service-worker.js').then(function(reg){
console.log(SW registration succeeded. Scope is +reg.scope);
}).catch(function(err){
console.error(SW registration failed with error +err);
});
}
</script>
</body>
</html>


Can anyone help with this issue?


More From » browser

 Answers
3

Solved:
First thing is service worker only works in secure mode either in https or localhost.
It doesnot work in local resources like file:// or http.


and second issue was during registration.


navigator.serviceWorkerContainer
.register('service-worker.js')
.then(function(reg){

[#60923] Tuesday, August 23, 2016, 8 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
devane

Total Points: 451
Total Questions: 88
Total Answers: 100

Location: India
Member since Wed, Aug 26, 2020
4 Years ago
;