在https://developer.mozilla.org/en-US/docs/Web/API/CacheStorage页面中,它告诉我们:
CacheStorage接口表示缓存对象的存储。它提供了ServiceWorker、其他类型的工作者或窗口作用域可以访问的所有命名缓存的主目录(您不必将其与服务工作者一起使用,尽管这是定义它的规范),并维护字符串名称到相应的缓存对象的映射。
那么,我想在know.Is中更好地在ServiceWorker中使用cacheStorage而不是在窗口范围内使用吗?为什么?
因为没有人回答,我想和大家分享我的想法。
在我看来,有几个优点。
首先,serviceWorker由另一个线程处理,这使得它更高效。
下一个,serviceWorker可以简单地添加到旧网站,而无需更改代码,而当您计划在窗口范围内使用它时,您必须重写ajax代码等等。
最后但并非最不重要的是,您可以运行这个当您的页面已关闭down.For示例,您可以将某物缓存时,您得到推送。
然而,这仍然让我感到困惑。为什么浏览器允许窗口范围获得permission.Is --这是我们只在主线程中编写的一种方便的方式?或者,这会给我们带来一些安全风险,因为当我们的页面是xss时,黑客可以访问缓存吗?
发布于 2018-07-21 15:51:09
为什么浏览器允许窗口范围获得权限?
服务工作者无法访问DOM元素。因此,如果我想预先执行在当前页面上找到的一些urls,那么从窗口范围做比从服务工作人员做要容易得多。
https://stackoverflow.com/questions/42804815
复制相似问题