javascript - “未捕获(承诺中)DOMException:无法为范围注册 ServiceWorker” - 脚本资源位于重定向后面,这是不允许的
问题描述
我们在 script.google.com 上开发了一个使用 AppsScript 的网络应用程序。我们尝试将其转换为渐进式网络应用程序 (PWA)。为此,我添加了一个
<link rel="manifest" href="/manifest.json.html">
,它不会引发错误。
但是我们收到以下代码的错误,它应该在 index.html 的脚本标记部分加载服务工作者:
if ('serviceWorker' in navigator)
{
window.addEventListener('load', () => {
navigator.serviceWorker.register('/service-worker.js.html')
.then((reg) => {
console.log('Service worker registered.', reg);
});
});
}
我已经在上面的代码中尝试过/service-worker.js
,/service-worker.js.html
但在当前谷歌 Chrome 浏览器的 javascript 控制台中仍然出现相同的错误,即:
脚本资源位于重定向后面,这是不允许的。Uncaught (in promise) DOMException: Failed to register a ServiceWorker for scope (' ') with script (' '): 脚本资源在重定向后面,这是不允许的。
目前我们不确定,Google 是否希望将托管在 script.google.com 上的网络应用程序转变为渐进式网络应用程序?
有没有人可以将 script.google.com 上的网络应用程序转换为渐进式网络应用程序,而不会在 Google Chrome 浏览器中出现上述错误消息?
我认为,这个错误是设计使然,因为谷歌发送每个 html 页面都有它自己的代码,其中包括我们自己在 iframe 中编写的代码,不允许访问它嵌入的原始 html。也许我错了?
解决方案
推荐阅读
- google-cloud-platform - App Engine – 限制部署到特定服务
- javascript - 如何处理日期中的 onChange 值?反应
- html - 输入所需的属性不适用于表单提交
- python - Python、django、html:我制作了一个预订表格,我想将此页面设置为仅登录访问,而不继承“LoginRequiredMixin”
- python - 将一个df的值与第二个df的第一个值连接和比较,然后进行累积比较
- flutter - 被调用的构造函数不是 const 构造函数。尝试从构造函数调用中删除“const”。颤振如何解决?
- python - Pymongo代码可以在需要用户名和密码才能注册的网站页面上快速循环大量帐户?
- docker - Docker-Compose - 在主机网络上给容器一个 IP,并允许容器到容器的连接和主机网络连接
- sink - 对 R 接收器的 pyper 调用创建输出文件但什么也不写
- django - 为什么在运行 Django TestCase 时没有创建对象