微信小程序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 小时前
Ignition篇(下 一) 动态执行前的事情
开发语言·前端·javascript
likeyi071 小时前
require 和 import的区别
开发语言·前端
pany2 小时前
做 AI 友好的开源 Vue3 模板 🌈
前端·vue.js·ai编程
小二·2 小时前
React 19 + Next.js 15 现代前端开发实战:App Router / Server Components / 流式渲染
前端·javascript·react.js
谙忆10244 小时前
前端图片直传对象存储:OSS/S3 预签名 URL、STS 临时凭证与回调校验
前端
CHNE_TAO_EMSM5 小时前
Android studio 打开文件时自动下载源码
前端·javascript·android studio
一孤程5 小时前
Airtest自动化测试第五篇:小程序与Web测试——跨平台自动化全覆盖
前端·自动化测试·小程序·自动化·测试·airtest
IT_陈寒5 小时前
SpringBoot自动配置不是你以为的那样的智能
前端·人工智能·后端
yume_sibai6 小时前
大屏数据可视化 - 边框红绿呼吸灯实现详解
前端·信息可视化·typescript
Hyyy7 小时前
很多Desktop都在上的Computer Use是什么
前端·llm