【发布时间】:2015-07-20 11:33:14
【问题描述】:
我知道您需要为 service worker 创建一个单独的文件并注册它。如何在同一个文件中编写 service worker 的代码并使用它?
我知道我可以在 web workers 中使用Blob。 Service Worker 也一样吗?
【问题讨论】:
标签: javascript
我知道您需要为 service worker 创建一个单独的文件并注册它。如何在同一个文件中编写 service worker 的代码并使用它?
我知道我可以在 web workers 中使用Blob。 Service Worker 也一样吗?
【问题讨论】:
标签: javascript
根据 MDN you must specify the URL path。我能想象的唯一方法是使用data URIs,但是当您在 Chrome 中尝试以下操作时:
navigator.serviceWorker.register("data:application/javascript,alert('123');");
它会响应
Uncaught (in promise) DOMException: Failed to register a ServiceWorker:提供的 scriptURL ('null') 的来源不 匹配当前来源(“我的来源 URL”)。
所以我宁愿说没有办法。
关于Blob,请查看following,它与您所说的相同
Blob 在 Worker 范围内可用。
它没有命名工人类型。如果你查看official w3c draft,他们那里没有关于 blob 的一个字。
您知道它的唯一方法 - 自己在 Chrome 中尝试。但是,即使它现在可以在 Chrome 中为您工作,但这并不意味着它会在以后工作。它仍然是一项实验性技术。
【讨论】: