怎样清除微信缓存,或者禁用微信缓存

最近做个WAP商城,但是在微信里浏览时缓存太严重,如何清除缓存呢
已邀请:

hongboict

赞同来自: qishiwotinghao

首先肯定是时间蹉方案,时间戳方案在很大部分安卓机上是不会有效果的。
然而我们也尝试过localstorge缓存样式的方法,自己写了一套机制来更新样式,然而效率感人,被弃用。
最稳妥的方法,是根据时间或文件MD5重命名。
如果要手动清楚缓存的话,先退出登录,然后关闭微信,再打开登录,这个方法经过了数百产品开发测试的验证,绝对管用。。。
如果是前端调试的话,建议使用livereload,不会有缓存顾虑。

sxzhustar

赞同来自:

在URL后面加上时间戳url?t=147888888

bigzerg

赞同来自:

如果是静态html文件遇到微信缓存而无法及时更新问题,请在html标签中增加不存在的manifest文件链接:



根据HTML5 W3C规范,解析器下载manifest header 404/410时,缓存即失效(见 http://www.w3.org/TR/html5/browsers.html#downloading-or-updating-an-application-cache "5.7.4 Downloading or updating an application cache > 5.If fetching the manifest fails due to a 404 or 410")

该方法对其它有自己缓存机制和缓存规则的应用也有奇效。

sxzhustar

赞同来自:

我现在的做法是,发布前对引用到的每个js和css文件名末尾加md5的标记:例如foo.js最后会变成类似foo-3e57d.js,这样只要内容有变化,文件名就相应变化,不存在缓存的问题(当然引用的地方和文件本身都是要改名的)。

当然手工完成这个过程会很繁琐,我现在利用gulp-rev和gulp-rev-replace将上面的过程完全自动化(参见:https://github.com/jamesknelson/gulp-rev-replace)

PS:gulp还有很多很爽的功能,值得掌握~

要回复问题请先登录注册