收藏
回答

小程序页面返回到webview的h5页面webview不刷新?

我的场景:a、小程序首页-》b、h5活动列表-》c、小程序活动详情

c返回b b无法刷新

网上说了好多办法试过了都不行 求解啊

比如

1、先清空URL在赋值

<web-view wx:if="{{url}}" src="{{url}}" bindmessage="onMessage"></web-view>

 this.setData({
      url: "",
 });
    setTimeout(() => {
      this.setData({
        url: tmpUrl,
      });
    }, 400);


这个方法无效

2、 加时间戳

在b页面onshow的时候给URL地址拼接时间戳 是刷新了但是也增加了h5的页面栈 这样根本不符合要求

回答关注问题邀请回答
收藏

2 个回答

  • 🌙
    🌙
    03-20

    解决了!!!再加一个变量其他不变

    <web-view wx:if="{{url && show}}" src="{{url}}" bindmessage="onMessage"></web-view>
      onHide() {
        this.setData({
          show: false,
        });
      },
      onShow() {
        this.setData({
          show: true,
        });
    }
    
    03-20
    有用
    回复 1
    • J
      J
      1天前
      如果是单页面应用刷新不了吧?b页面如果是外部链接点击左上角返回能刷新吗
      1天前
      回复
  • 环境与健康
    环境与健康
    03-06

    有一个曲线的解决方案:

    1.在webview页面注册监听一个全局事件;

    2.你在上一级页面做完相应的操作后进行触发全局事件;

    3.监听到全局事件后进行redirectTo来防止增加页面栈;

    4.记得离开webview页面时移除全局事件;

    03-06
    有用
    回复 1
    • J
      J
      1天前
      如果是单页面应用,b页面如果是a页面通过 window.location.href打开的新窗口,点击左上角返回webview能监听到刷新a页面吗
      1天前
      回复
登录 后发表内容