微信公众号页面返回上一层_解决微信返回上一页之后,页面不刷新

问题描述: A页面跳转到B页面,在B页面进行了相关的操作之后,返回到A页面,A页面的数据没有刷新.具体实例:

由于项目中使用了vue,使用了gulp和普通的页面跳转。并没有引入vue-router。所以不能使用 watch监控$router。

微信公众号ios点击后退按钮,优选读取缓存,所以vue里的生命周期不会在进行调用。

所以项目中执行隐藏分享qq,空间。等功能不被再次执行。

原因分析:

一.android 浏览器 包括微信的开发者工具 都是ok的返回可以刷新页面但是唯有iOS不行.

二.iOS 浏览器原因:history.go(-1)返回上一页后,页面内容并不会刷新。在B页面修改的内容,返回到A时并没有更新新的内容,必须手动刷新。

在Debug模式下,发现在iOS浏览器中,返回上一页后,页面的 JS 代码并未执行。我们猜测可能是缓存引起的,于是使用 meta 禁止了缓存,但仍然没有效果。于是进一步猜测可能是浏览器内部机制导致——iOS为了提升浏览网页的效率,可能给已浏览过的网页添加一个类似快照的东西,当点击返回按钮后,直接调用快照展示给用户,省去了执行JS这一步骤(纯静态文件依然被缓存)。这本来是iOS的优势,在这却变成了bug存在的风险.

三.页面数据是通过 ajax 请求后台数据,通过链接跳到下一页,然后返回,

最常用的返回上一页的方法:history.go(-1)和 history.back(),

在 android 中正常显示上一页,但是在 iOS 中不能正常显示,通过打印

返回的数据,发现数据是上一个页面最后请求的数据。

解决方法: 

 在回退后需要刷新的页面加以下js:

let isPageHide = false;

window.addEventListener('pageshow', () => {
  if (isPageHide) {
    window.location.reload();
  }
});

window.addEventListener('pagehide', () => {
  isPageHide = true;
});

原文链接:https://blog.csdn.net/weixin_39690097/article/details/111855716

微信小程序有多种方法可以返回一页面。其中一种方法是使用wx.navigateBack()函数。这个函数可以返回到小程序页面栈中的上一个页面。你可以通过设置delta参数来指定返回页面数。例如,如果你想返回上一个页面,可以将delta设置为1。\[2\] 另一种方法是使用wx.redirectTo()函数。这个函数可以关闭当前页面,并跳转到应用内的另一个页面。跳转后,左上角会出现返回小箭头,点击后可以返回原本页面。但是需要注意的是,这个函数不能跳转到tabbar页面。\[1\] 还有一种方法是使用wx.navigateTo()函数。这个函数可以在保留当前页面的情况下,跳转到应用内的另一个页面。跳转后,左上角也会出现返回小箭头,点击后可以返回原本页面。\[3\] 总结起来,微信小程序返回一页面的方法包括使用wx.navigateBack()、wx.redirectTo()和wx.navigateTo()函数。具体使用哪种方法取决于你的需求和场景。 #### 引用[.reference_title] - *1* *3* [微信小程序返回一页的各种方法](https://blog.csdn.net/ARLENE2/article/details/129437624)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [微信小程序返回上一级页面并自动刷新数据](https://blog.csdn.net/qq_42740298/article/details/128326542)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值