我有一个运行服务工作者的应用程序。我使用sw-toolbox库来动态缓存URL,但是我想在sw-toolbox上创建包装器,为我的应用程序提供getter和setter以进行URL缓存。
由于服务工作者在不同的线程和我的应用程序在主线程中运行,所以只是想知道如何在Javascript中创建一个包装器,我的应用程序可以通过它与服务工作者通信并按需缓存资源?
答案 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 Documentation,Cache API/interface
会曝光到窗口范围以及工作人员。
您甚至不必与服务工作者一起使用它 以为它是在服务工作者规范中定义的。