Taro小程序 webview src已修改但页面不刷新

  • Post author:
  • Post category:小程序


解决办法:加时间戳

我的h5页面路由是hash模式也就是带#号的

  componentWillMount() {
    const { params } = this.$router;
    let url = params.url || "";
    this.updataUrl(url);
  }
  // 加时间戳 防止缓存
  updataUrl(url) {
    console.log("我是webview获得的url");
    console.log(url);
    console.log("我是webview解码后获得的url");
    console.log(decodeURIComponent(url));
    // 加时间戳 防止缓存
    if (url.includes("/#")) {
      url =  url.split('#')[0].split('?')[0] + '?v=' + new Date().getTime() + '/#' + url.split('#')[1]
    }
    // 赋值
    console.log("不是默认就自动赋值");
    this.setState({
      url: decodeURIComponent(url)
    });
  }

重点就是这 时间戳一定要加在/#/里 不能加在后边参数里

http://192.168.1.22:8080/#/index?v=1111//错误写法

http://192.168.1.22:8080/?v=1655706751389/#/index?//正确写法


url = url.split(‘#’)[0].split(‘?’)[0] + ‘?v=’ + new Date().getTime() + ‘/#’ + url.split(‘#’)[1]



版权声明:本文为qq_37588752原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。