缓存对于前端页面来说,是加速页面加载的利器之一,但也同时带来了很多问题,比如新版本发布之后,怎么替换客户端上的缓存文件呢?大家一般的的解决方案主要有以下几种形式,

一般情况

1、添加版本号,在静态

location ~* ^.+\.(jpg|jpeg|gif|png|ico|

4、在

微(keng)信(die)浏览器

微信浏览器下比较特殊,这个bug一样的存在居然把入口文件

方案一(部分框架无效)

最开始碰到这个问题,我在想是不是可以给入口文件的

理论上来说,这样应该是可以的,但发现没有用。分析原因可能是

location / {

root /mnt/dat1/test/tes-app;

index index.

这个解析的过程中版本号已经失效了,因此没能达到替换缓存的目的。至于其他的框架下,比如ftl、jsp那种模版编译的有可能生效,不过需要大家自己去验证了。

方案二(有效)

再换一种方案,更改服务器配置,强制不缓存入口文件,其他静态正常缓存,比如在nginx中对静态部分如下

location / {

root /mnt/dat1/test/tes-app;

index index.html index.htm;

try_files $uri $uri/ /index.html;

#### kill cache

add_header Last-Modified $date_gmt;

add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';

if_modified_since off;

expires off;

etag off;

}

location ~* ^.+\.(jpg|jpeg|gif|png|ico|

最终经过测试,这种方式可以解决微信下入口文件被缓存的问题,问题解决~~

题外话

说到这里,微信浏览器为什么要缓存html文件呢?

1、难道也是加速页面加载?并不见得是这个原因,因为这可能带来的问题大于带来的优化效果。

2、缓存入口页面和保留上次浏览位置是否有关联呢?感觉关联度也不是那么大

补充:微信浏览器取消缓存的方法

一、通过url参数避免html文件缓存

请求同一个页面的时候,如果url后面的参数不一样,则不会调用微信缓存中的html页面,由此可以解决html页面的缓存问题。例如加个版本号或时间戳

www.xxx.com/home.html?v=1.0

二、避免

以上工作完成之后,我们解决了html的缓存问题,但是通过访问nginx(或是其他工具)的日志发现,虽然带上了不同的参数,html确实不会缓存了,但是却没有js和

猜测在这里,微信发现我们所请求的js和

所以我们要在html文件的头部(head)处加上一些meta:

ps,网上很多答案都提供了添加在head处的meta,但是有的人说没有用。目测是因为meta只能保障js和

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持前端开发者。

微信html页面缓存问题,浅谈微信页面入口文件被缓存解决方案_简单_前端开发者...相关推荐

  1. js打开服务器缓存文件夹路径,浅谈微信页面入口文件被缓存解决方案

    缓存对于前端页面来说,是加速页面加载的利器之一,但也同时带来了很多问题,比如新版本发布之后,怎么替换客户端上的缓存文件呢?大家一般的的解决方案主要有以下几种形式, 一般情况 1.添加版本号,在静态资源 ...

  2. 浅谈微信小程序对于房地产行业的影响

    前几日,我们曾经整理过一篇文章是关于微信小程序对于在线旅游业的影响的一些反思(浅谈微信小程序对OTA在线旅游市场的影响),近日由于生活工作的需要走访了一些房地产的住宅商品房,突然想到微信小程序对于房地 ...

  3. java缓存同步_浅谈JSON的数据交换、缓存问题和同步问题

    JSON轻量级的数据交换格式 相对于XML来说,JSON的解析速度更快,文档更小. JSON的格式 {属性名:属性值,属性名:属性值,--} 属性名的类型可以是string,number,boolea ...

  4. 浅谈 举家搬迁静态文件到CDN

    为什么80%的码农都做不了架构师?>>>    由于七牛CDN最近做活动,对于标准用户可以免费使用如下优惠 10 GB 存储空间 10 G/月 下载流量 10 万次/月 PUT/DE ...

  5. 微信小程序页面栈_浅谈下微信小程序中的路由(页面跳转、返回、刷新、页面栈)...

    什么是小程序里的"路由"?路由器吗?蒙蔽?好吧,在WEB应用中它其实就是分组数据包从源到目的地时,决定端到端路径的网络范围的进程:在小程序里就是设置页面的跳转,返回,自动刷新等一些 ...

  6. js 单页面ajax缓存策略,浅谈ajax的缓存机制---IE浏览器方面

    这篇文章主要介绍了IE浏览器关于ajax的缓存机制,文中给大家提到了Ajax解决浏览器的缓存问题,解决方法有很多种.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. IE浏览器对于同一 ...

  7. 微信平台第三方服务器,浅谈微信第三方服务平台的发展前景

    伴随着移动端的普及,移动互联网也在飞速的发展,同时也有越来越多的小商家开始抓住了移动互联网的这个渠道开展营销活动.而随着微信的不断更新和发展,微信用户也越来越多,而如今如雨后春笋般出现的各类微信第三方 ...

  8. 浅谈微信小程序生命周期

    之前在做微信小程序的时候,一直对生命周期里面的onLoad,onShow,onUnload不是很理解.比如说什么时候会触发onUnload. 经过一段时间的测试发现,普通页面的onUnload在三种情 ...

  9. 浅谈微信朋友圈的架构设计

    微信朋友圈是一种社交媒体应用,主要功能是让用户分享图片.视频和文字等内容,并与好友互动.一个基本的微信朋友圈设计方案: 数据库设计 微信朋友圈需要存储大量的图片和视频等多媒体数据,因此需要设计一个高效 ...

最新文章

  1. Ant Design Pro 网络请求流程
  2. 关于VS打包程序无法弹出主界面的问题
  3. JAVA面向对象为啥return实参,Java面向对象编程(OOP)
  4. Soldier and Bananas
  5. (转载)以太网最大帧和最小帧、MTU .
  6. Python基础知识(第十一天)
  7. 若依前后端分离版怎样根据数据库生成代码并快速实现某业务的增删改查
  8. Linux下安装配置MySQL
  9. 查看特定进程杀死进程方法
  10. 类查找android中跨项目的数据库操作ContentProvider的使用
  11. 2D转换之旋转rotate(CSS3)
  12. csv 逗号数量不一样_lexin_common系列之CSV
  13. 定时备份windows机器上的文件到linux服务器上的操作梳理(rsync)
  14. 02 华为交换机配置telnet远程登录
  15. Python数据处理(入门教程)
  16. 统计学习方法详解之第十三章 无监督学习概论
  17. Don't Starve,好脚本,好欢乐
  18. 中式红木装修,古雅灵动、温婉雅致、独具风情
  19. ConcurrentHashMap的实现原理
  20. 用最经济的抽样检验方案,达成最有效的质量控制结果

热门文章

  1. ceph存储 pg归置组处于stuck以及degraded状态解决方案
  2. 如何预防 CSRF 攻击
  3. AsyncHttpClient 请求
  4. 天池大数据比赛-菜鸟仓库比赛-第二赛季记录
  5. 银行数字化转型导师坚鹏:数字化背景下BLM银行网点转型
  6. Ae:文本动画制作器
  7. Vue-5 路由参数的传递和获取(query 和 params),导航守卫和路由元信息,History模式
  8. 一个无需软件加密文件夹的bat(批处理)文件的分析
  9. 如何旋转PDF文件页面,一分钟教你学会
  10. Aspose实现word转图片、pdf