【问题标题】:How to use inline service worker如何使用 inline service worker
【发布时间】:2015-07-20 11:33:14
【问题描述】:

我知道您需要为 service worker 创建一个单独的文件并注册它。如何在同一个文件中编写 service worker 的代码并使用它?

我知道我可以在 web workers 中使用Blob。 Service Worker 也一样吗?

【问题讨论】:

    标签: javascript


    【解决方案1】:

    根据 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 中为您工作,但这并不意味着它会在以后工作。它仍然是一项实验性技术。

    【讨论】:

      猜你喜欢
      • 2018-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-17
      • 2017-06-14
      • 2016-12-12
      • 2017-01-18
      • 2018-10-06
      相关资源
      最近更新 更多