为什么 Service Worker 无法在 Chrome 中工作?

2024-06-24

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

我正在尝试制作 PWA,目前正在测试我的清单和 Service Worker 是否正常工作。在我的项目中,我有一个 index.html 文件,它调用文件 app.js,我尝试在其中注册名为 serviceworker.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') .then(function() { console.log('service worker registered'); });代码段中,控制台显示错误“找不到属性寄存器”。据我了解,服务工作人员并不适用于所有浏览器,但我检查了它是否在 Chrome 中运行(这就是我正在测试的浏览器),它表示支持服务工作人员。有人可以告诉我为什么它不起作用吗?我目前使用的是 Chrome 版本 80.0.3987.149(官方版本)(64 位)。 Alsi,我不知道这是否重要,但我正在使用 Node.js。提前致谢。


由于声誉低无法发表评论,但请检查this https://stackoverflow.com/a/52300901/5143202 & this https://stackoverflow.com/a/52269897/5143202 out.

简而言之: 出于安全原因,服务工作线程要求使用它们的站点通过 HTTPS 提供服务, 但对本地主机有例外。

Check this https://stackoverflow.com/q/38497334/5143202了解如何在本地主机上提供 html 文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Service Worker 无法在 Chrome 中工作? 的相关文章

  • Javascript 字符串/整数比较

    我在 HTML 中存储一些客户端参数 然后需要将它们作为整数进行比较 不幸的是我遇到了一个我无法解释的严重错误 该错误似乎是我的 JS 将参数读取为字符串而不是整数 导致我的整数比较失败 我生成了一个错误的小例子 我也无法解释 运行时以下返
  • 客户端 GitHub 身份验证

    我正在使用 Javascript 对 GitHub 进行基本身份验证 例如 以下 shell 命令从 Github 获取令牌 curl i u uaername password k d scopes repo https api gith
  • 在 TFS 上构建想要从 Node.js 测试项目复制可执行文件

    我使用 Node js 工具为量角器测试环境创建了一个 Node js 项目 以在 Team Foundation 服务器上测试 Web 应用程序 我可以在本地创建测试项目并使用调试器运行它 但是 TFS 上的构建不起作用 Log
  • Webpack、Sass - 超出最大调用堆栈大小

    我正在为我的 JS 应用程序使用 Webpack 对于样式 我使用 Sass 我的应用程序非常大 所以我使用了很多 mixins 和 includes 在过去的几天里 虽然应用程序的 SASS 数据增长了一些 我多次遇到相同的以下错误 未捕
  • 如何使用 html 标签包装 window.getSelection().getRangeAt(0) 中的文本选择?

    如何从 window getSelection getRangeAt 0 中进行选择并用 HTML 标签 例如 span 或 mark 包围它 我更喜欢直接的 javascript 或 jQuery 解决方案 我可以使用警报输出选定的文本
  • RSA Java 加密和 Node.js 解密不起作用

    我有一个系统 需要在 javascript 中生成 RSA 密钥对 然后将公钥存储在服务器端的数据库中 作为字符串 然后 Java 中的服务器端将使用存储的公钥对字符串进行加密密钥并将其发送到客户端 客户端将使用私钥解密该字符串 我在客户端
  • 将新数据添加到 d3 Streamgraph 时的转换

    我使用d3绘制了一个与官方示例非常相似的流图http bl ocks org mbostock 4060954 http bl ocks org mbostock 4060954 唯一的区别是我如何用新数据更新它 我不仅想要垂直 y 值 过
  • 有效 JSON 上的 Firefox JSON“格式不正确”错误

    我在 Firefox 中收到以下错误消息 Error not well formed Source File http school courses booking add php 1287657494723 Line 1 Column 1
  • 如何在 Chrome 中将 Set 转换为数组?

    如何将集合转换为数组 https stackoverflow com questions 20069828 how to convert set to array给出了将 Set 转换为 Array 的三个答案 目前在 Chrome 浏览器
  • ECMAScript 中定义的内部属性是什么?

    什么是内部属性 http es5 github com x8 6在 ECMAScript 中定义为 规格是什么意思 该规范使用各种内部属性来定义 对象值的语义 这些内部属性不是 ECMAScript 语言 它们是由本规范定义的 纯粹用于说明
  • 为什么 jQuery 对损坏标记的解释与浏览器不同?

    我之前已经回答过这个问题 https stackoverflow com a 19101905 1253312 但我并不完全理解why答案是正确的 答案的要点 p p function jqrender html a href http w
  • 如何在 Google 地图上旋转叠加图像?

    我正在尝试将一系列叠加层放置到 Google 地图上 我正在跟随地面覆盖层的示例代码 https developers google com maps documentation javascript examples groundover
  • 将“http://”添加到尚未包含“http://”的 URL 前面

    我有一个input保存 URL 的字段 我希望这个保存的输入能够识别变量开头不存在 Http 但不知道从哪里开始 是否可以仅检查字符串的一部分 然后有一个在必要时追加的函数 如果您还想允许 https 我会使用如下正则表达式 if http
  • JQuery mouseover 函数多次触发

    我很长时间以来一直使用这种方法来为整个类 按钮等 设置事件 div bigButton mouseover function this style backgroundColor dfdfdf 然而 在进行一些测试时 我刚刚注意到 当将鼠标
  • 解析字符串:提取单词和短语 [JavaScript]

    我需要在以空格分隔的术语列表中支持确切的短语 用引号引起来 因此 用空格字符分割相应的字符串已经不够了 Example input foo bar lorem ipsum baz output foo bar lorem ipsum baz
  • 汇总异常以保留模块

    我使用一个名为的汇总插件rollup plugin lit css转变 css文件转换成 javascript 模块 该插件非常简单 它本质上只是附加export default到文件 我的汇总配置使用preserveModules and
  • 如何从 Instagram 的 media_preview 原始数据重新创建预览?

    如果您从 Instagram 的 API 获取 JSON 数据 您会发现media previewkey 其值是一些 Base64 编码的数据 它看起来确实像一些非常小的预览二进制数据 也许是压缩的 Take 这个帖子 https www
  • JavaScript 模板文字稍后替换变量(在知道值之前)

    是否可以在已知值之前以某种方式使用模板文字 JS 模板文字的每个演示都如下所示 var name John var s Hello name 但在现实世界中 模板是在我们知道变量值之前定义的 某处定义了模板 在页面加载时 var s Hel
  • Promise链基本问题

    我正在尝试理解 Promise 我创建了一些有效的承诺链 而另一些则无效 我已经取得了进步 但显然缺乏基本概念 例如 以下承诺链不起作用 这是一个愚蠢的例子 但说明了问题 我正在尝试在链中使用 Node 的函数 randomBytes 两次
  • NodeJS 生成用于签名和验证消息的有效 PEM 密钥

    Context 来自关于 Node v10 9 0 的 TLS SSL 的 NodeJS 文档 2018 年 8 月 https nodejs org api tls html tls tls ssl concepts https node

随机推荐

  • Java:以 JSON 响应的简单 HTTP 服务器应用程序

    我想用 Java 创建一个非常简单的 HTTP 服务器应用程序 例如 如果我运行服务器本地主机在港口8080 并且我从浏览器进行以下调用 我想获得一个带有字符串 hello world 的 Json 数组 http localhost 80
  • 是否可以从 URL 中包含 Vue.js 组件?

    我们正在设计一个插件架构 并且很好奇是否有一种方法允许通过 URL 将第 3 方插件包含为 Vue 组件 如何从远程 url 导入 vue 文件 例如 我尝试遵循 Alex Jover Morales 的方法来导入异步组件异步 vue js
  • Langchain的AzureOpenAI错误:找不到资源

    我尝试使用 LangChain 的 AzureOpenAI 如下所示 但出现此错误 你知道我该如何解决这个问题吗 openai error InvalidRequestError Resource not found Import Azur
  • VS Code / Bitbucket / SSH - 权限被拒绝(公钥)

    我试图通过 ssh 从 vscode 访问 bitbucket 但总是得到权限被拒绝 公钥 SSH 密钥位于 ssh 公钥已正确设置在bitbucket settings security sshkeys 按键已经过测试并且可以工作 启动后
  • Razor 页面 - CSS 隔离 - 某些 HTML 标签的样式不起作用

    我正在尝试使用 Razor Pages CSS 隔离在 ASP NET Web 应用程序中设置正文 标题和表单标签的样式 在作用域 CSS 文件 Layout cshtml css 中为某些 HTML 标记创建的样式不起作用 其他组件文件也
  • 如何处理GORM异常

    我正在尝试对 Hibernate 引发的乐观锁类 型异常实现异常处理 但我遇到了一个奇怪的问题 看来我无法捕获任何 Gorm 异常 例如 我的服务中有以下代码 try User user User get 1 Thread sleep 10
  • 使用 jQuery 查找已知行和列 ID 的表格单元格

    我有一个简单的表 其中设置了标题的 ID 和行的 ID 给定两者的 ID 我需要在这两者的交叉点找到相应的单元格 Example table thead th Bla th th Bli th th Blu th thead tbody t
  • 我的脚本如何更改特定字体(针对特定类)?

    我正在尝试制作自己的 Tampermonkey 脚本 以将特定网站上的特定字体样式从草书样式更改为无衬线样式 该网站的 HTML 是 div class text Ask more leading questions div 它嵌套在 2
  • 如何定义多个initBinder

    一个控制器中是否可以有多个 initBinder 方法 每个 InitBinder 参见代码 都依赖于一个唯一的请求处理程序 例如initBinder 在 url update account 上调用 initBinderOne 在 upd
  • 获取每日数据帧的每月最大值以及相应的索引值

    我已经从雅虎财经下载了每日数据 Open High Low Close Volume Date 2016 01 04 10485 809570 10485 910156 10248 580078 10283 440430 116249000
  • 使用 OpenGL ES 2.0 绘制 2D 图像

    我一直在努力使用适用于 Android 的 openGL ES 2 0 从 jpg png 文件绘制 2D 图像 我所看到的教程都是针对 3D 图像纹理的 因此很难弄清楚如何绘制常规 2D Sprite 我有一个正方形要绘制和旋转 但是一旦
  • 通过 PHP 邮件功能发送电子邮件不适用于长电子邮件

    我正在尝试使用 php 邮件功能从我的网站发送电子邮件 网站上的用户以 html 形式输入电子邮件 我已经测试了邮件功能 当电子邮件文本较小时它可以工作 例如 this is an email 然而 当我输入一封很长的电子邮件时 mail
  • 如何在 SSRS 中将文本框设置为多行?

    我有一份包含许多字段的报告 我试图将其水平缩小到 1 页 我不在乎它是 2 页还是 200 页垂直 只是不想处理 2 页宽 x长达几页的火车残骸 也就是说 它处理联系信息 我的想法是这样做 Name Address City State J
  • Django:resolve(request.path).app_name不返回应用程序名称

    我正在尝试从视图或模板访问当前应用程序名称 在其他答案中如何在 django 中使用 python 获取应用程序名称 https stackoverflow com questions 6000205 how to get an app n
  • 按顺时针顺序对四个点排序

    数组中的四个 2D 点 我需要按顺时针顺序对它们进行排序 我认为只需一次交换操作就可以完成 但我还没有能够正式放下这一点 编辑 在我的例子中 这四个点是凸多边形 编辑 这四个点是凸多边形的顶点 它们不必按顺序排列 如果你想从更数学的角度来看
  • 使用 REST 或 Web 服务上传/下载文件

    是否可以使用 REST 或任何其他 Web 服务上传 下载文件并发送 HTML 代码 这必须可以使用 PHP Java 或 ASP I think this http www mkyong com webservices jax rs fi
  • 如何在一次 API 调用中获取大照片 URL?

    我想立即在 Facebook 应用程序的提要视图中显示大照片 是否可以使用一个 API 调用从流 提要中获取大照片 src URL 照片 ID 在流 提要中返回 当然可以在额外的 FQL 或图形 API 调用中提供该照片 ID 以检索有关该
  • 在winforms中用HttpWebRequest传递cookie?

    请看下面的代码 objCookieContainer new CookieContainer HttpWebRequest request HttpWebRequest WebRequest Create http website com
  • 我应该使用 std::shared 指针来传递指针吗?

    假设我有一个由一个对象管理的对象std unique ptr 我的代码的其他部分需要访问这个对象 传递指针的正确解决方案是什么 我应该直接传递普通指针吗std unique ptr get或者我应该使用并通过std shared ptr而不
  • 为什么 Service Worker 无法在 Chrome 中工作?

    我是网络开发新手 如果我不清楚我的问题 很抱歉 我正在尝试制作 PWA 目前正在测试我的清单和 Service Worker 是否正常工作 在我的项目中 我有一个 index html 文件 它调用文件 app js 我尝试在其中注册名为