浏览器后退不刷新页面的解决办法

在开发微信的H5页面的时候,发现ISO的微信内置浏览器后退不刷新了,然而业务实现需要刷新。

IOS上的微信内置浏览器为了优化用户体验,采用了后退不刷新的策略,也就是A页面打开B页面,B页面后退到A页面的时候,A页面不刷新(连JS都不执行)。

可以理解成A页面打开B页面的时候,A页面被隐藏了,后退的时候只是把A页面显示出来了。

这种情况禁缓存是没有效果的,可以通过监听onpageshow来刷新页面。

代码如下,在A页面的JS中添加

1

2

3

4

5

6

//解决IOS微信webview后退不执行JS的问题

window.onpageshow = function(event) {

if (event.persisted) {

window.location.reload();

}

};

 

event.persisted为了查看页面是直接从服务器上载入还是从缓存中读取的。

参考onpageshow用法

转载于:https://my.oschina.net/u/2306318/blog/1524957

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值