托管来自CDN / Google Drive的服务工作者文件

时间:2015-12-28 08:00:44

标签: service-worker

在实现Web推送通知时,我必须在我的JS代码中添加一个service-worker文件位置。

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

我可以在CDN或Google云端硬盘中托管此服务工作者文件吗?

1 个答案:

答案 0 :(得分:4)

您的服务工作者JavaScript文件(传递到navigator.serviceWorker.register()的文件)不能存在于其控制的网页的其他域中。如果您的网站是从https://www.example.com/投放的,那么您无法从https://www.somecdn.com/提供服务工作者JavaScript文件。您必须确保所有网页和服务工作者文件都来自同一个域,但该单个域是否与CDN服务器相对应或其他不重要。

此外,服务工作者脚本文件的路径会影响服务工作者控件的最大范围,您通常需要将服务工作者脚本文件放在"顶级& #34;如果您想控制网站上的所有页面,请访问您的网站。此other Stack Overflow response中有更多信息。