专栏首页山河木马浏览器后退不刷新页面的解决办法

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

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

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

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

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

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

//解决IOS微信webview后退不执行JS的问题 
window.onpageshow = function(event) {
 if (event.persisted) {
  window.location.reload(); 
 } 
};

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

参考onpageshow用法

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 当页面加载完运行jsv_yixinla(转)

    当一个文档完全下载到浏览器中时,才会触发window.onload事件。这意味着页面上的全部元素对js而言都是可以操作的,也就是说页面上的所有元素加载完毕才会执...

    山河木马
  • HTML5 简介(三):利用 History API 无刷新更改地址栏

    HTML5 新增的历史记录 API 可以实现无刷新更改地址栏链接,配合 AJAX 可以做到无刷新跳转。

    山河木马
  • js触发全屏事件

    让用户端JS触发指的就是让用JS监听用户的操作事件,通过JS程序去实现F11全屏。这个事件可以是一个按钮的点击事件,当然也可以是键盘事件,比如用户按下F11。 ...

    山河木马
  • 【Mockplus教程】重命名

    对页面和分组的重命名可以选中单个页面,然后使用F2进入名字修改状态,改完之后鼠标随便 点击其它地方即可完成修改。 对于选中页面也可以双击页面节点进入修改状...

    奔跑的小鹿
  • 项目小结:日立OA系统(Asp.net)

    前言                                         进入公司6个月后被安排到该项目中,据说该项目规模很大,而拆分到公司的就只是...

    ^_^肥仔John
  • 微信小程序从子页面退回父页面时的数据传递

    我们知道,在微信小程序中,从一个页面转到另一个页面,一般情况下可以通过navigate或redirect时候的url来携带参数,然后在目标页面的onLoad函数...

    一斤代码
  • 【专业技能】前端开发眼里的页面

    拿到效果图时,有这么几步,就我了解的情况做一下分享,不一定全部都是科学,但可以部分借鉴。 我先说一下,熟练后拿到效果图时这样的一个状态: ? http...

    程序员互动联盟
  • 效率类APP原型制作分享----Timeglass

    本原型由国产Mockplus(原型工具)和iDoc(智能标注,一键切图工具)提供。

    奔跑的小鹿
  • 谈谈小程序中返回上一页面逻辑

    前言:小程序页面之间的互相跳转,页面个数是开发工程师要考虑的问题。微信官方之前给出的最大页面堆栈是5,现在改为了10,如果超过最大堆栈数,会报错Maximum ...

    连胜
  • 搜索新规则下,移动端如何优化?

    黄伟SEO

扫码关注云+社区

领取腾讯云代金券