【问题标题】:is it not good to use cacheStorage outside serviceWorker ?why?在 serviceWorker 之外使用 cacheStorage 不是很好吗?为什么?
【发布时间】:2017-03-15 08:44:07
【问题描述】:

https://developer.mozilla.org/en-US/docs/Web/API/CacheStorage 页面中,它告诉我们:

CacheStorage 接口表示缓存对象的存储。它提供了一个服务工作者、其他类型的工作者或窗口范围可以访问的所有命名缓存的主目录(你不必将它与服务工作者一起使用,即使这是定义它的规范)并维护一个映射字符串名称到相应的缓存对象。

所以,我想知道。在 ServiceWorker 中使用 cacheStorage 是否比在 Window 范围内更好?为什么?

由于没有人回答,我想分享我的想法。

在我看来,有几个优点。

首先,serviceWorker由另一个线程处理,效率更高。

下一个,serviceWorker 可以简单地添加到旧网站而不更改代码,而当您计划在窗口范围内使用它时,您必须重写 ajax 代码等。

最后但并非最不重要的一点是,您可以在页面关闭时运行它。例如,您可以在收到推送时将某物放入缓存中。

然而,它仍然让我感到困惑。为什么浏览器允许窗口范围获得权限。我们在主线程中编写是否方便?或者,这会给我们带来一些安全隐患,因为当我们的页面被xss后,那个黑客就可以访问缓存了?

【问题讨论】:

    标签: javascript web browser-cache service-worker


    【解决方案1】:

    为什么浏览器允许窗口范围获得权限?

    Service Worker 无权访问 DOM 元素。 因此,如果我想预先缓存在当前页面上找到的一些 url,那么在窗口范围内比从 service worker 更容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-06
      • 2014-07-04
      • 2014-10-27
      相关资源
      最近更新 更多