gpt4 book ai didi

javascript - 中止错误: Failed to register a ServiceWorker: ServiceWorker cannot be started

转载 作者:行者123 更新时间:2023-11-28 05:10:24 25 4
gpt4 key购买 nike

我正在尝试在 Chrome 中测试推送通知功能。我在此处克隆了 Google 提供的示例 Chrome 推送通知 Web 应用程序:https://github.com/GoogleChrome/samples/tree/gh-pages/push-messaging-and-notifications

当我使用 Web server for Chrome extension 托管 Web 应用程序时,代码运行正常本地主机上的 HTTP 服务器。当我想在移动设备上测试 Web 应用程序时,我无法将 Web 服务器用于 Chrome 扩展,因为它是 HTTP 服务器,除了 localhost 之外,服务工作线程仅在 HTTPS 上工作。因此,我使用自签名证书创建了一个基于 Python 的 HTTPS 服务器,并在那里托管了 Web 应用程序。

现在我收到AbortError: 无法注册 ServiceWorker: ServiceWorker 无法启动注册 Service Worker 时如下所示:

    navigator.serviceWorker.register('./service-worker.js')

service-worker.js 与 html 文件以及我调用此方法的 js 文件位于同一目录中。

关于 Service Worker 的文档并不多。而且这个错误太模糊了,无法弄清楚任何事情。请帮助我找出此错误的根本原因。

最佳答案

我找到了解决方案。 Service Worker 仅在安全的 HTTPS 网络上工作。我创建的 Python HTTPS 服务器是使用自签名证书进行签名的,因此不安全。我使用 ngrok 创建了一个到本地主机的安全 https 隧道,然后它就工作了

关于javascript - 中止错误: Failed to register a ServiceWorker: ServiceWorker cannot be started,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41430841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com