微信开发工具 - 嵌套H5页面,页面文字没有更新。
- 问题
-
-
- 首先这不是一个Bug,也不影响发版及上线。
- 一、为什么会这样?(简单讲清楚)
- [二、立刻解决:开发者工具强制刷新 H5(4 种方法,按顺序试)](#二、立刻解决:开发者工具强制刷新 H5(4 种方法,按顺序试))
-
- [方法 1: web-view 页面右键 → 重新加载 把鼠标放在 web-view 显示区域内 右键 → 重新加载(Reload) 这是强制刷新 H5 页面,90% 的情况一次就好。](#方法 1: web-view 页面右键 → 重新加载 把鼠标放在 web-view 显示区域内 右键 → 重新加载(Reload) 这是强制刷新 H5 页面,90% 的情况一次就好。)
- [方法 2:清开发者工具缓存 , 顶部菜单: 设置 → 项目设置 → 清除缓存 → 全部清除 然后编译项目。](#方法 2:清开发者工具缓存 , 顶部菜单: 设置 → 项目设置 → 清除缓存 → 全部清除 然后编译项目。)
- [方法 3:给 H5 链接加时间戳(强制不缓存), 在小程序 web-view 的 src 后面加个随机参数,让工具认为是新链接:](#方法 3:给 H5 链接加时间戳(强制不缓存), 在小程序 web-view 的 src 后面加个随机参数,让工具认为是新链接:)
- [方法 4:开启「不缓存资源」, 右上角 详情 → 本地设置 勾选 ✅ 不校验合法域名、web-view(业务域名) 勾选 ✅ 不缓存资源](#方法 4:开启「不缓存资源」, 右上角 详情 → 本地设置 勾选 ✅ 不校验合法域名、web-view(业务域名) 勾选 ✅ 不缓存资源)
-
问题
微信小程序嵌套H5页面,出现了一个问题
在微信开发工具上H5页面没有更新,但是发布成体验版之后,在手机上查看H5就是最新的。
刚开始以为是H5没有发布成功,后来才知道原来是是微信开发工具的原因。
首先这不是一个Bug,也不影响发版及上线。
1、是微信开发者工具本地缓存 + 渲染机制导致的,不是代码问题。
2、 开发者工具会强制缓存 web-view 里的 H5 页面,不会像手机端那样实时刷新;手机体验版走的是真实网络,能拿到最新 H5。
一、为什么会这样?(简单讲清楚)
1、开发者工具的 web-view 有强缓存 工具为了速度,会把 H5 页面、JS、CSS 缓存到本地,不会自动清。 改了 H5,工具依然读旧缓存 → 显示老页面。
2、手机端(体验版 / 正式版)没有这个缓存问题 手机上的 web-view 是真实微信内核,会正常请求网络 → 显示最新 H5。
二、立刻解决:开发者工具强制刷新 H5(4 种方法,按顺序试)
方法 1: web-view 页面右键 → 重新加载 把鼠标放在 web-view 显示区域内 右键 → 重新加载(Reload) 这是强制刷新 H5 页面,90% 的情况一次就好。
方法 2:清开发者工具缓存 , 顶部菜单: 设置 → 项目设置 → 清除缓存 → 全部清除 然后编译项目。
方法 3:给 H5 链接加时间戳(强制不缓存), 在小程序 web-view 的 src 后面加个随机参数,让工具认为是新链接:
javascript
this.setData({ // 原来的:url: "https://xxx.com" // 改成带时间戳: url: "https://xxx.com?v=" + new Date().getTime() })
100% 能拿到最新 H5。