当前位置: 首页 > 知识库问答 >
问题:

在https iframe中注册服务工作者时发生DOMException

林彬
2023-03-14

我正在尝试在http(不安全)站点内的https iframe中注册服务工作者。直到最近,我的代码运行时没有任何问题。从上次chrome更新(44)开始,此代码在iframe中失败:

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

控制台中出现以下错误:未捕获(在promise中)DOMException:仅允许安全源

如果安全IFRAME运行在不安全的父级中,是否有任何更改阻止它们注册服务工作者?

共有1个答案

鞠边浩
2023-03-14

看来最近这种情况确实有所改变。现在似乎还将保持当前的行为--请参阅service worker spec存储库中的讨论。这两个讨论都引用此规范作为策略的基础。

 类似资料:
  • 我有一个糟糕的服务人员,不再更新。我首先注意到了Chrome中的问题。然后,我将以下代码放入索引中。html文件和软件中的。js(服务工作者)文件。在大多数情况下,它似乎运行良好。Firefox似乎是唯一一个没有删除服务工作者的浏览器。我使用下面的文章创建了注销脚本。 如何卸载Service Worker? 我也用过这篇文章和代码,得到了同样的结果。 我如何删除一个有缺陷的服务人员,或者实现一个“

  • 常见问题:如何卸载Service Worker?对于使用JavaScript注销服务工作人员有一个很好的答案。如何让服务工作者在注销时清除任何命名缓存? 从MDN,服务工作人员将在注销之前完成任何正在进行的操作。因此,听起来应该可以监听 状态会做什么。 伸手去抓稻草,虽然我看到了卸载标志的引用,但我还没有看到它暴露在任何地方。建议?

  • 关于它也有类似的问题,但是不太清楚如何应用解决方案,并不断收到错误。 我解释。我想使用ServiceWorker技术创建一个简单的html/js应用程序。我有: 索引。html js/app。js js/sw。js app.js代码是(见 //*** 注释): 正如您在注释中所看到的,我仍然收到错误“提供的作用域(“/”)的路径不在允许的最大作用域(“/js/”)之下。请调整作用域,移动服务工作者

  • 离线时,我的服务人员会出现以下错误: 我的服务人员如下所示: 它位于顶层目录,就在索引中类似这样导入的清单的旁边。html:

  • 我正在尝试注册服务工作者,但出现错误: 该页面使用github Pages托管:https://boopathi.in/sw-demo-iss。源代码在这里https://github.com/boopathi/sw-demo-iss 我试图理解这意味着什么,以及如何解决错误。

  • 我注意到,当服务工作人员脚本本身加载到浏览器中时,不再触发服务工作人员的读取事件。例如,当我们有一个新版本的服务辅助角色时,旧的服务辅助角色读取事件不会被触发。因此,旧的服务工作者不能再检查新服务工作者的内容。 我确信这以前是可能的,我想知道这是否是一个bug,或者是否对此进行了任何更改。我在官方存储库或W3C草稿中没有找到与此更改相关的任何内容。 为了验证fetch事件没有被触发,我用版本号(参