使用服务工作者动态缓存HTTP URL的包装器?

时间:2016-05-07 10:36:23

标签: javascript service-worker

我有一个运行服务工作者的应用程序。我使用sw-toolbox库来动态缓存URL,但是我想在sw-toolbox上创建包装器,为我的应用程序提供getter和setter以进行URL缓存。

由于服务工作者在不同的线程和我的应用程序在主线程中运行,所以只是想知道如何在Javascript中创建一个包装器,我的应用程序可以通过它与服务工作者通信并按需缓存资源?

3 个答案:

答案 0 :(得分:1)

到目前为止,Cache api可以从内容中获得,这意味着您可以直接从您的Javascript代码中使用它,而无需在服务工作者中运行。

检查此线程以找到解决方案:https://github.com/slightlyoff/ServiceWorker/issues/698您将能够使用窗口对象中的缓存。

意味着您可以使用所有范围的Cache方法来播放内容:https://developer.mozilla.org/en-US/docs/Web/API/Cache

再一次提醒一下,从Chrome 46开始,您就可以将内容存储在安全的起源中。

答案 1 :(得分:0)

这取决于您的工作人员如何缓存数据,它仅使用标准" Cache" API只能查询附加到全局范围的cache对象。

在这种特殊情况下Cache.match()是你的朋友。

答案 2 :(得分:0)

From the DocumentationCache API/interface会曝光到窗口范围以及工作人员。

  

您甚至不必与服务工作者一起使用它   以为它是在服务工作者规范中定义的。