gpt4 book ai didi

firefox - 如何使用 JavaScript 清除应用程序缓存(HTML5 功能)?

转载 作者:太空狗 更新时间:2023-10-29 15:47:24 26 4
gpt4 key购买 nike

我们的 Web 应用程序使用应用程序缓存(缓存 list )在离线模式下恢复 HTML 页面和资源。 HTML 页面将 sessionID 作为 URI 中的参数。因此,在每次注销和登录操作后,新的 HTML 页面都会保存到应用程序缓存中,因为 URI 中的 sessionId 已更改。使用应用程序几周后,一些浏览器开始运行速度变慢。应用程序缓存的大小(在 FF 3.6+ 上测试)约为 200Mb!每次注销后我们清除浏览器的LocalStorage,但是如何清除应用程序存储中的资源呢?

最佳答案

应用程序缓存占用如此多空间的问题是您每次都为用户代理提供不同的离线 Web 应用程序。离线 Web 应用程序是 identified to the user agent by the URI of the cache manifest file , 包括查询字符串 - 不是您想象的主文件的 URI。

因此,通过在缓存 list URI 中包含 session ID,您告诉浏览器每个 session 都会获得自己全新的应用程序,而无需使用任何先前下载的应用程序(因此,永远无法清除它们).您每次都在安装不同的 Web 应用程序。

重新考虑您如何构建您的应用程序,因为当前使用 HTML5 离线缓存 list 提供没有值(value) - 只会导致过度下载。 Web 应用程序鼓励的架构是静态地提供所有 HTML,并通过 AJAX 获取需要 session 的数据。以经典的“使用服务器上的数据动态生成 HTML 页面”范例构建的 Web 应用程序无法运行。

关于firefox - 如何使用 JavaScript 清除应用程序缓存(HTML5 功能)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5829299/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com