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+html5基于websocket实现聊天室的方法

本文实例讲述了php+html5基于websocket实现聊天室的方法。分享给大家供大家参考。具体如下: html5的websocket 实现了双向通信,折腾了几天弄了个聊天室,分享给大...

php7基于递归实现删除空文件夹的方法示例

本文实例讲述了php7基于递归实现删除空文件夹的方法。分享给大家供大家参考,具体如下: php版本7.0.4 代码如下: <?php $path = 'd:/'; rm...

从康盛产品(discuz)提取出来的模板类

复制代码 代码如下: <?php /*template.class.php @康盛微博 模板提取类 觉得这个模板好用 花些时间独立出来。 by 雷日锦 @看了一下ctt 这个模板...

PHP详解ASCII码对照表与字符转换

PHP详解ASCII码对照表与字符转换

一,通用的ASCII码对照表 图解ASCII码对照表图,以字符A为例Dec表示十进制,如65Hx表示十六进制,如41Oct表示八进制,如101Char表示显示字符,如AASCII码对...

关于session在PHP5的配置文件中的详细设置参数说明

;处理session存取的模式(预设:files) session.save_handler = files ;session档案存放路径(预设:/tmp) session.save_p...