Adnroid 微信内置浏览器清除缓存

yipeiwu_com6年前PHP代码库

      微信开发比较头疼的一个情况就是缓存难以清除,然而奇怪的是微信app在IOS中是可以刷新页面的,但是Android中却不知道基于什么考虑,无法清除缓存也没有刷新功能,这个就给开发者设置了不小的障碍,哪有页面是最好就不改的,然后如果去改,微信浏览器缓存着css、图片,这样改完后看效果就变得相对费劲了。
      我上网查过,遇到这个蛋疼问题的不止我一个,寻寻觅觅却找不到解决办法的也不止我一个,有人说去微信“设置”、“通用”中“清除微信存储空间”,我想问,兄弟你这样弄成功了吗?这个清理看似根本不是清理缓存,是去清理自己的聊天记录啊,就算你能清理掉缓存,聊天数据也没有了,难道你作为开发者就要这么苦逼,舍己为项目?
      还有人说用什么杀毒软件、系统工具去清理存储空间,我也试过,感觉好像有的时候可以,有的时候不灵,而且是有个工具软件可以有的不行,开发最怕这种时灵时不灵的感觉,要么就是好使要么就直接不好使,不然反复浪费时间在里面。
      ……
      最后我也是没有折了,想到一个早该想到的办法:在文件路径后面加上一个随机数。真是豁然开朗啊!对于PHP写的程序那就更加简单了,用PHP生成一个随机数,然后再html的文件路径后面加上这个随机数即可。

一,PHP 开发

  PHP代码:

 $rand = rand(10000,99999);

html代码:

 <img src="header.jpg?rand=<?php echo $rand; ?>"

二,使用meta头信息实现取消了微信浏览器的缓存

做微信公众号和调试手机页面的时候,避免不了页面要跳转到微信浏览器打开,调试阶段,android版微信浏览器一直都默认缓存html静态资源,每次静态资源变化甚至新内容发布的时候在微信浏览器上都极有可能不能更新,很多时候要清理微信缓存才能看到效果,很是烦人。部分客户装了QQ浏览器,微信实际调用的是QQ浏览器,有时候甚至光清理微信缓存都无效,QQ浏览器的缓存也要清。

经过一番探索微信浏览器确实是在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" />

 这样微信浏览器对这个页面将会一直上线拉取了。

相关文章

php生成不重复随机数、数组的4种方法分享

php生成不重复随机数、数组的4种方法分享

下面写几种生成不重复随机数的方法,直接上代码吧 复制代码 代码如下: <?php define('RANDOM_MAX', 100); define('COUNT', 10...

PHP函数import_request_variables()用法分析

本文实例分析了PHP函数import_request_variables()用法。分享给大家供大家参考,具体如下: import_request_variables 函数可以在 regi...

php实现utf-8和GB2312编码相互转换函数代码

复制代码 代码如下:<?php /********************************************  *  * 函数名:get...

PHP遍历二维数组的代码

一开始打算用foreach来历遍,但是发现没有成功,oo不过关,没办法oo写······ 研究后决定用for循环,演示代码如下: 复制代码 代码如下: <?php $blog=ar...

PHP数据集构建JSON格式及新数组的方法

自己写了个PHP结果集转换成JSON格式的函数,可以直接调用:复制代码 代码如下:function RecordToJson($recordset) { $jstr='['; while...