如何使用内联服务工作者

时间:2015-07-20 11:33:15

标签: javascript

我知道你需要为服务工作者创建一个单独的文件并注册它。如何在同一个文件中编写服务工作者代码并使用它?

我知道我可以在网络工作者中使用Blob。服务工作者是否一样?

1 个答案:

答案 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中使用,但这并不意味着它会在以后工作。它仍然是一种实验技术。