不再在导航器中找到serviceWorker

时间:2018-09-12 15:56:59

标签: javascript google-chrome service-worker

由于Google Chrome的新更新(版本69.0.3497.92(正式版本)(64位)),我再也无法在导航器中找到serviceWorker服务。实际上,我可以按以下方式注册我的Service Worker,但现在出现一个错误,即在导航器中找不到serviceWorker:

if('serviceWorker' in navigator) {
    /*
    *
    * Register the Service Worker
    *
    * */
    navigator.serviceWorker.register('sw.js').then(function(registration) {
        console.log('Service Worker Registered');
    });

} else console.log('Your browser does not support the Service-Worker!');

现在如何再次使用Service Worker,或者如何使它在所有Chrome版本中再次运行?

5 个答案:

答案 0 :(得分:27)

通过HTTPS服务页面或使用localhost。服务人员requireSecure Context

MDN pageChromium page)。

window.isSecureContext的值指示[SecureContext]功能是可见还是隐藏。 (这是true URL上的file://,并且serviceWorker API可见,但是它当然不起作用。)

答案 1 :(得分:12)

如果您为本地主机以外的域在本地使用虚拟主机,则可以告诉chrome将自定义域视为“安全”。

在地址栏中:chrome://flags/#unsafely-treat-insecure-origin-as-secure

然后添加您的域,例如http://my-local-dev-domain.test

单击启用,然后单击重新启动按钮。

答案 2 :(得分:1)

转到用户中的 vscode 设置>扩展选项向下滚动到实时服务器配置

将您的主机设置为 localhost --ScreenShot Set host to local host

现在向下滚动并取消选中使用本地 IP 选项 -- ScreenShot uncheck localIP

转到您的端口 json 设置并将端口设置为 8080 --ScreenShot json setting set port to 8080 上线并检查控制台

答案 3 :(得分:0)

另一个原因可能是在私有模式下运行浏览器

答案 4 :(得分:-1)

改为 http://192.168.1.105:8080/ 转到 http://localhost:8080/ 它对我有用