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


Posted in PHP onJuly 11, 2016

      微信开发比较头疼的一个情况就是缓存难以清除,然而奇怪的是微信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 相关文章推荐
用PHP动态创建Flash动画
Oct 09 PHP
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
Sep 02 PHP
PHP 函数学习简单小结
Jul 08 PHP
PHP文件读写操作之文件读取方法详解
Jan 13 PHP
PHP写的获取各搜索蜘蛛爬行记录代码
Aug 21 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
Jun 27 PHP
php curl模拟post请求小实例
Nov 13 PHP
php通过ajax实现双击table修改内容
Apr 28 PHP
smarty模板引擎从配置文件中获取数据的方法
Jan 22 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
Jun 06 PHP
PHP函数func_num_args用法实例分析
Dec 07 PHP
Laravel框架Request、Response及Session操作示例
May 06 PHP
php通过两层过滤获取留言内容的方法
Jul 11 #PHP
php基于openssl的rsa加密解密示例
Jul 11 #PHP
PHP微信开发用Cache 解决数据缓存
Jul 11 #PHP
php使用escapeshellarg时中文被过滤的解决方法
Jul 10 #PHP
[原创]smarty简单模板变量输出方法
Jul 09 #PHP
[原创]php简单防盗链验证实现方法
Jul 09 #PHP
[原创]php简单隔行变色功能实现代码
Jul 09 #PHP
You might like
《神奇女侠:血脉》神力女超人大战犯罪公司
2020/04/09 欧美动漫
php获取mysql版本的几种方法小结
2008/03/25 PHP
php mysql数据库操作分页类
2008/06/04 PHP
php微信开发之自定义菜单完整流程
2016/10/08 PHP
Laravel validate error处理,ajax,json示例
2019/10/25 PHP
关于图片的预加载过程中隐藏未知的
2012/12/19 Javascript
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
jquery动态改变onclick属性导致失效的问题解决方法
2013/12/04 Javascript
javascript避免数字计算精度误差的方法详解
2014/03/05 Javascript
nodejs中操作mysql数据库示例
2014/12/20 NodeJs
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
javascript函数式编程实例分析
2015/04/25 Javascript
JS控制文本域只读或可写属性的方法
2016/06/24 Javascript
javascript设计模式之模块模式学习笔记
2017/02/15 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
2018/05/03 jQuery
原生JS实现简单的倒计时功能示例
2018/08/30 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
vue中使用router全局守卫实现页面拦截的示例
2020/10/23 Javascript
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
Django与遗留的数据库整合的方法指南
2015/07/24 Python
Django学习教程之静态文件的调用详解
2018/05/08 Python
Python OpenCV处理图像之滤镜和图像运算
2018/07/10 Python
基于python3的socket聊天编程
2020/02/17 Python
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
python 动态渲染 mysql 配置文件的示例
2020/11/20 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
软件配置管理有什么好处
2015/04/15 面试题
个人思想理论学习的自我鉴定
2013/11/30 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
办公经费申请报告
2015/05/15 职场文书
银行大堂经理培训心得体会
2016/01/09 职场文书
关于vue中如何监听数组变化
2021/04/28 Vue.js