Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么服务人员不在Chrome中工作?_Javascript_Node.js_Google Chrome_Service Worker - Fatal编程技术网

Javascript 为什么服务人员不在Chrome中工作?

Javascript 为什么服务人员不在Chrome中工作?,javascript,node.js,google-chrome,service-worker,Javascript,Node.js,Google Chrome,Service Worker,我是网络开发新手,如果我不清楚我的问题,很抱歉 我正在尝试进行PWA,目前正在测试我的清单和服务人员是否正常工作。在我的项目中,我有一个index.html文件,它调用文件app.js,我尝试在其中注册名为serviceworner.js的服务工作者。下面是我尝试注册我的服务人员的代码段: if('serviceWorker' in navigator) { navigator.serviceWorker.register('/serviceworker.js') .then(funct

我是网络开发新手,如果我不清楚我的问题,很抱歉

我正在尝试进行PWA,目前正在测试我的清单和服务人员是否正常工作。在我的项目中,我有一个index.html文件,它调用文件app.js,我尝试在其中注册名为serviceworner.js的服务工作者。下面是我尝试注册我的服务人员的代码段:

if('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/serviceworker.js')
  .then(function() {
    console.log('service worker registered');
  });
}
else {
  console.log('cannot register');
}
重新加载页面时,控制台显示“无法注册”。为了解决这个问题,我在if子句中写了一行,看看它是否与条件本身有关。事实证明,即使删除if和else子句并简单地运行
navigator.serviceWorker.register('/serviceWorker.js')也可以
.然后(函数(){
console.log(“服务人员已注册”);
});

在代码段中,控制台显示一个错误,如“找不到属性寄存器”。据我所知,服务人员并不是在所有浏览器上都工作,但我检查了一下它是否在Chrome中运行(我正在测试Chrome),它说服务人员是受支持的。有人能告诉我为什么它不工作吗?我目前正在使用Chrome的80.0.3987.149版(官方版本)(64位)。另外,我不知道这是否重要,但我正在使用Node.js。提前感谢。

由于声誉不佳,无法发表评论,但请退房

简言之: 出于安全原因,服务人员要求使用它们的站点通过HTTPS提供服务, 但是有本地主机的执行选项


检查如何在localhost上提供html文件。

nodejs与浏览器中的service worker有什么关系?我不知道它是否与node.js有任何关系。我只是想它可能会。