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" />

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

相关文章

解决PHP4.0 和 PHP5.0类构造函数的兼容问题

在 PHP5.0 以上版本里,还兼容了 4.0 版本的构造函数的定义规则。如果同时定义了4.0的构造函数和 __construct()函数,则__construct() 函数优先。为了使...

PHP SPL 被遗落的宝石【SPL应用浅析】

PHP SPL 被遗落的宝石【SPL应用浅析】

本文实例讲述了PHP SPL应用方法。分享给大家供大家参考,具体如下: Rafael Dohms 上面的篇文章 让我为之惊艳,忍不住就翻译了下来,同时补充了部分内容。 SPL,PHP 标...

Snoopy类使用小例子

    snoopy是一个php类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务。 下面是它的一些特征: 1、方便抓取网页的内容 2、方便抓取网页的文...

php有道翻译api调用方法实例

本文实例讲述了php有道翻译api调用方法,这里我们利用了file_get_contents函数直接读取由api返回的数据进行处理,分享给大家供大家参考。具体分析如下: 调用之前我们需申...

php判断目录存在的简单方法

PHP判断文件或目录是否存在 file_exists:判断文件是否存在 $file = "check.txt"; if(file_exists($file)) { echo...