UPDATE: 2021-01-20 20:01
背景
我们在开发微信 H5页面的时候经常会遇到资源文件(图片、css、js 等)不更新的问题,其实解决方案很简单,只要在请求地址之后加一个随机数参数即可:
<img src="./img/image-url-test.jpg?v20180318214000">
本文想探究的是除了主动在资源文件上加参数以外,通过微信 App 自身,有哪些用户可操作的动作会清空缓存,以及微信内置浏览器的 cookie 和 localStorage 会在何时清除。
本实验硬件及软件版本
- iPHone Xs, iOS 14.2
- oppo R11st, Android 9, ColorOs V6.0.1
- 魅族 16th, Android 8.1.0, Flyme 8.1.5.0A
- 微信软件版本
- iOS 7.0.21
- Android 7.0.22
你可以使用以下文件来测试cookie:
https://feizhaojun.com/demo/cookie
你可以使用以下文件来测试localStorage:
https://feizhaojun.com/demo/localstorage.html
试验
我们整理了一下微信的相关操作:
1 刷新
右上角菜单-刷新
- iOS 如果连续操作两次点开右上角菜单刷新,会更新浏览器资源文件
- 安卓如何刷新都不会更新浏览器资源文件
2 微信清理缓存
1. iOS:我→设置→通用→存储空间→缓存→清理
2. 安卓:我→设置→通用→微信存储空间
3. 安卓:我→设置→通用→微信存储空间→缓存→清理
- iOS清理缓存不会清理webview的浏览器缓存
- iOS清理缓存会清空cookie (2021-01-20)
- iOS清理缓存不会清空localStorage (2021-01-20)
- 安卓点击“微信存储空间”之后,就会清空cookie (2021-01-20)
- 安卓点击“微信存储空间”之后,就会清空localStorage (2021-01-20)
- 安卓点击“微信存储空间”之后,会清除缓存
3 删除聊天记录
1. iOS:设置-清空聊天记录
2. 安卓:设置-聊天-清空聊天记录
- 不管是安卓还是 iOS,清空聊天记录并不能清除webview的浏览器缓存、cookie、
和 localStorage
4 注销登录
1. iOS:我→设置→退出登录
2. 安卓:我→设置→退出
- iOS重新登录会清空cookie (2021-01-20)
- iOS重新登录会清空localStorage (2021-01-20)
- 安卓重新登录会清空cookie (2021-01-20)
- 安卓重新登录会清空localStorage (2021-01-20)
- 不管是安卓还是 iOS,注销之后重登陆,都会清除webview的浏览器缓存、cookie、
和 localStorage
5 删除重装(没有试过)
- 没有尝试。
总结
清除缓存
- iOS
- 点击右上角菜单刷新,连续操作两次
- 安卓
- 找到:我→设置→通用→微信存储空间,点进去即可
清空cookie
- iOS
- 找到:我→设置→通用→存储空间→缓存→清理
- 重新登录:我→设置→退出登录
- 安卓
- 找到:我→设置→通用→微信存储空间,点进去即可
- 重新登录:我→设置→退出登录
清空localStorage
- iOS
- 重新登录:我→设置→退出登录
- 安卓
- 找到:我→设置→通用→微信存储空间,点进去即可
- 重新登录:我→设置→退出登录
您的赞助将会支持作者创作及本站运维
评论
共12条支付宝搜了,没有啊,2020年了,请问她找到对象了没有???
啊这 都2年了 微信浏览器还是不好清理localstorage啊
小姐姐找到对象了吗
害妹有 哈哈哈
妹子找到男友了吗,本人25年单身
哈哈哈
你好,请教一下,我按照文章提供的方式,退出重新登录微信,ios下,localstorage依然存在。。
按照社区里面的说法,重新登录应该是清理localStorage的,我会再跟踪一下此问题,感谢反馈~
兄弟我感觉你这篇文章,从问题答案到征婚信息都不对啊哈哈
哈哈哈哈哈哈哈
楼主,妹子找到对象了吗?
能不能给我介绍一下啊,e留言。
哈哈哈哈哈
发表评论