我知道你需要为服务工作者创建一个单独的文件并注册它。如何在同一个文件中编写服务工作者代码并使用它?
我知道我可以在网络工作者中使用Blob
。服务工作者是否一样?
答案 0 :(得分:5)
根据MDN you must specify the URL path。我可以想象如何内联的唯一方法是使用data URIs,但是当您在Chrome中尝试以下操作时:
navigator.serviceWorker.register("data:application/javascript,alert('123');");
以
回应未捕获(承诺)DOMException:无法注册a ServiceWorker:提供的scriptURL('null')的来源不是 匹配当前来源('我的原始网址')。
所以我宁愿说没办法做到这一点。
关于Blob
检查following,其中的内容与您说过的相同
Blob在工作人员范围内可用。
它没有命名工人类型。如果你检查official w3c draft,那里就没有关于blob的单词。
了解它的唯一方法 - 亲自尝试使用Chrome。但即使它现在可以在Chrome中使用,但这并不意味着它会在以后工作。它仍然是一种实验技术。