微信小程序之webview H5以小程序 的跳回,传值触发动作

15 篇文章 0 订阅
4 篇文章 0 订阅

在小程序处理

<web-view bindmessage="handleGetMessage" src="{{outSrc}}"></web-view>

js 方法:
  handleGetMessage: function(e) { // 获取webView 修改后传递的信息。判断调用用户信息接口
    console.log('修改了用户信息', e.detail.data)
    if(e.detail.data && e.detail.data[0] && e.detail.data[0].typemin === '1'){
      app.globalData.userInfo = null; // 用户信息赋值空
      app.getUserInfoFn(); // 重新登录获取用户信息。
    }
  },

H5页面
H5页面的传值 返回必须要销毁当前页面的方法才能触发
bindmessage eventhandler 网页向小程序 postMessage 时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。e.detail = { data },data是多次 postMessage 的参数组成的数组

wx.miniProgram 方法需要引入微信SDK,自行引入。

  let ua = navigator.userAgent.toLowerCase(); // 车险小程序有引用当前项目
  if(ua.match(/MicroMessenger/i)=="micromessenger") {
      //ios的ua中无miniProgram,但都有MicroMessenger(表示是微信浏览器)
      // alert(wx.miniProgram.navigateTo)
      // console.log('wx2',wx.miniProgram.navigateTo)
      wx.miniProgram.getEnv((res)=>{
        if (res.miniprogram) { // 小程序环境下
            this.isMiniProgram = true;
        }
      })
  }

传值 。data 是固定的

   if(this.isMiniProgram){ // 小程环境下,传值给小程序.重新请求数据
            wx.miniProgram.postMessage({ data: {typemin:'1'}})
  }

返回到小程序

if (res.miniprogram) { // 小程序环境下
            wx.miniProgram.redirectTo({url: '/pages/page/index/index'})
            // wx.miniProgram.switchTab({url: '/pages/page/index/index'})
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值