微信小程序web-view嵌套H5,小程序与H5通信

小程序向H5发送信息:

小程序端代码:

webView /index.wxml

html 复制代码
 <web-view 
    key="{{webViewKey}}"  
    src="{{shoppingUrl}}" 
    bindload="onWebViewLoad"
    binderror="onWebViewError"
  />
javascript 复制代码
     that.setData({
            shoppingUrl:`http://192.168.18.72:3000/mobile/pages/order/paying?orderId=${options.id}&code=${res.code}`,
            
          })

H5接收:

javascript 复制代码
  onLoad(options) {
 if(options.code){
            console.log("微信小程序携带code跳转过来的",options.code);
                 orderId= options.orderId;
                 codeWx= options.code;
          
        }

}

H5向小程序发送信息:

H5 /pages/order/paying

javascript 复制代码
需要先引入wxSDK
	import wx from 'weixin-js-sdk';

 

wx.miniProgram.navigateTo({
                                  url:"/pages/webView/index?params="+encodeURIComponent(params1) 
                                })

微信小程序接收:

javascript 复制代码
 onLoad(options:any) {
if(options.params){
      let params1=decodeURIComponent(options.params)
     let params=JSON.parse(params1)
      that.setData({
        params:params
      })
    }

}

以上基本传递信息结束!!

如果小程序接收到H5信息之后想要跳转H5的另外一个页面,那就需要改变web-view的src,当直接赋值发现H5并没有跳转成功,所以需要加 key="{{webViewKey}}" ,改变webViewKey之后,H5可以重新渲染
代码展示:

html 复制代码
 <web-view 
    key="{{webViewKey}}"  
    src="{{shoppingUrl}}" 
    bindload="onWebViewLoad"
    binderror="onWebViewError"
  />
javascript 复制代码
 this.setData({
        shoppingUrl:`http://192.168.18.72:3000/mobile/pages/order/pay?orderId=${payInfo.orderId}&wxpay=1`,
        
      })
      this.setData({ webViewKey: this.data.webViewKey + 1 });
相关推荐
跨境数据猎手1 小时前
跨境电商系统三大 Web 漏洞的防护:SQL 注入、XSS、CSRF
前端·sql·xss
冒险的豆子1 小时前
Proxy & Vue 响应式(合并精简版,适合面试)
前端·javascript·vue.js
Java后端的Ai之路2 小时前
前端技术Vue-18-视图中的渲染
前端·javascript·vue.js
程序员海军8 小时前
用了两年多 GPT,我最近开始换模型了,还折腾了个求职避坑 Agent
前端·人工智能·后端
zttbee9 小时前
echarts图表tooltip色块失效
前端·javascript·echarts
excel10 小时前
IndexNow:让搜索引擎更快发现网站更新的主动通知协议
前端·后端·架构
子兮曰10 小时前
CSS 复现 23 种设计风格:从拟物到液态玻璃的成本阶梯与兜底写法【实战】
前端·css·视觉设计
虚无境11 小时前
如何用AI帮我写出实用的插件
前端·javascript·ai编程
柳杉12 小时前
从数字化到数智化:3D 可视化大屏的下一个五年
前端·ai编程·数据可视化
风骏时光牛马12 小时前
从零到实战:AI全栈学习进阶路线
前端