web-view的src设置动态url访问不稳定
发布于 5 年前 作者 yeli 9612 次浏览 来自 问答
<!--index.wxml
<web-view src="{{url}}"></web-view>
//index.js
var app = getApp();
Page({
/**
  * 页面的初始数据
  */
 data: {
   url: "https://demo.kaidekuai.com/index.php"
 },
/**
  * 生命周期函数--监听页面显示
  */
 onShow: function () {
   var that = this;
   console.log("index页面的onshow方法调用一次");
   if (app.globalData.tempUrl != null){
     that.setData({
       url: app.globalData.tempUrl
     });
     console.log("新Url:" + this.data.url);
   }
   
 },
})
//其他页面.js
//跳回index的web-view
             app.globalData.tempUrl = 'https://demo.kaidekuai.com/index.php?act=weixin&do=fastlogin_mina&op=login_success';
             wx.redirectTo({
               url: '../index/index',
               success: function(){
                 console.log("跳转成功");
               },
               fail: function(){
                 console.log("跳转失败");
               }
             })

使用上面的方法,在其他页面里面设置app的全局参数url后,跳转到index页面,index页面的onshow方法中setData设置这个url,这样有时候跳过去的页面是对的,有时候不对,好像query参数没有正确处理直接跳到了H5的主页面

请问这是什么原因呢?代码里面有什么问题吗?

是不是因为setData是异步操作的原因?

那对于这种web-view需要传递动态url的情况应该怎么实现呢?

2 回复

采用一种办法初步解决了,目测没有发生,但是不肯定。

我用的办法是:把page里面的data.url设置为null,等用的时候再赋值。

之前出问题的data.url开始设置为主页,用的时候改query参数就出问题了

这个问题有解决嘛 现在也遇到了这个问题

回到顶部