最近开发了个公众号,有一些页面是要跳转到微信浏览器打开的,使用angularjs开发。
现在还是在调试阶段,在android版微信浏览器都缓存html静态资源,每次有新版本发布都不能马上生效。有时候要去清了微信缓存才生效,有时候连清了微信缓存都不行!
求教啊!
现在还是在调试阶段,在android版微信浏览器都缓存html静态资源,每次有新版本发布都不能马上生效。有时候要去清了微信缓存才生效,有时候连清了微信缓存都不行!
求教啊!
1
phpcxy OP 有什么办法不然微信浏览器缓存我的网站呢
|
2
wuliao49 Oct 22, 2014
angularjs没用过。
如果仅仅是让一个网页不缓存的话 通过META设置即可。 缓存 但是希望特定场合不取缓存的话,这种场合下URL后面拼接个随机串接口。 |
3
nayuki Oct 22, 2014
把localStorage用起来哈,这样处理缓存起来会方便很多咯,对于文件,文件名上追加版本号哈= =,资源文件可以异步的引入到localStorage中,每次加载资源从localStorage中取
|
4
wzxjohn Oct 22, 2014
很遗憾如果网址相同的话没有办法。。。清微信缓存是100%可以的。但是如果你的安卓上装了QQ浏览器,实际上微信是调用QQ浏览器,所以QQ浏览器的缓存也要清。
目前来看只能在URL后面拼接随机字串比较靠谱了。。。 |
5
cxh116 Oct 22, 2014
域名用泛指向,需要清缓存的时候换个二级域名访问
|
7
mouseshi Oct 22, 2014
楼上办法可行
|
8
Mac Oct 22, 2014
一般都是用time()生成一个UNIX 时间序列,然后在在URL最后加上
|
9
herold519 Oct 22, 2014
...退出重新登录。。
|
10
winsky027 Oct 22, 2014
url后面加随机数CDN会失效,版本号更合理
|
12
dongcheng Oct 22, 2014
目前是用PHP写HTML文本,每次都刷出新的内容。不知道其他人试过没。
可以确定是JS和图片都被缓存了。 |
13
adjusted Oct 22, 2014
localstorage +1,离线app用过,一般不会超的,每次只读取个manifest.
|
14
phpcxy OP 看了大家回复,看来只能试试在html后加版本号的方案试试了。
由于我现在是在微信公众号里面的自定义菜单打开的链接到我的网页,只能先跳到PHP里执行一个302跳转来加版本号了。 |
16
ityao Oct 22, 2014 html加版本号也不行,因为缓存就是旧的入口页面吧,我也很纠结这个!
|
19
paloalto Oct 22, 2014
哎 刚发现上面那句话有三个的。精简一下:怎么调试微信 webview 里的前端页面
|
21
zythum Oct 22, 2014 浏览器貌似是从webview的上层做的缓存。就是如果请求过了这个地址。就会存在本地。之后不取线上了。试试写头信息
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="0" /> |
22
qiongqi Oct 22, 2014
之前遇到的问题是cookie的,现象是微信切换用户时,cookie信息没清掉。
没办法,只能在每个入口都调用下oauth。。 |
24
viator42 Oct 22, 2014
取消再重新关注应该好使。
|
28
forerunner May 27, 2015
我OAuth授权的时候全部带着随机数参数,然后一些页面上标记注明禁止缓存(如21楼所说的方法)
|
29
jiongxiaobu Jul 21, 2015
12楼既然说html不缓存,那调用js或者图片的时候在js或者图片上加上个?时间不就好了
|