繁体   English   中英

从国外创建服务工人

[英]Create a service worker from a foreign origin

我正在构建一个可以在任何网站上集成的Web推送通知系统。 我控制着这些站点,但是我正在尝试使集成尽可能简单,以便可以由我以外的其他人来完成。 理想情况下,我可以给某人一个JavaScript或iframe标签,这样就可以了。

<script src="https://foreign.com/main.js" />

- 要么 -

<iframe src="https://foreign.com/main.html" />

我首先尝试使用外来脚本创建服务工作者-这引发了异常,此后我继续阅读原因。 我了解为什么这行不通。

  navigator.serviceWorker.register('https://foreign.com/sw.js')

因此,我尝试创建一个非常简单的页面,该页面仅运行JavaScript来设置服务工作者,然后从iframe调用该页面。 这看起来确实可行-它请求许可并创建订阅。 但是,如果我尝试向该订阅发送消息,则不会发生任何事情。 它只是默默地失败了。 为什么是这样?

那是不可能做到的,这将是一个安全问题,而不是在规范中。 必须从相同的来源,相同的路径和https下载软件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM