由于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版本中再次运行?
答案 0 :(得分:27)
通过HTTPS服务页面或使用localhost
。服务人员require和Secure Context。
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/ 它对我有用