h5端可通过jssdk postMessage来操作小程序
<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
// javascript
wx.miniProgram.navigateTo({url: '/path/to/page'})
wx.miniProgram.postMessage({ data: 'foo' })
wx.miniProgram.postMessage({ data: {foo: 'bar'} })
wx.miniProgram.getEnv(function(res) { console.log(res.miniprogram) })小程序<web-view src="{{url}}" bindmessage="onLoadMessage" bindload="onWebLoad" binderror="onWebError"></web-view>注意:wx.miniProgram.postMessage 向小程序发送消息,会在以下特定时机触发组件的message事件:小程序后退、组件销毁、分享、复制链接,也就是webview的bindmessage事件不会立即执行,需要等到小程序后退、组件销毁、分享、复制链接的时候才会执行回调,真是个鸡肋啊。
解决办法就是:h5端传值完了后,wx.miniProgram.postMessage({ data: {foo: 'bar'} }),立即执行wx.miniProgram.navigateTo({url: '/path/to/page'})到空白页,空白页再跳转回来,这个时候就能触发webview的bindmessage事件获取消息了,主要回退的时候webview会重新加载h5页面,注意做好缓存处理
还有一种办法就是:诱导用户点击分享按钮触发。
小程序传值给h5
需要传给小程序的值当做参数放在当前url上,小程序中通过点击转发即可获取。这种方法缺点是只能在点击转发时才可传。
小程序端:
<web-view src="https://example.html?id=123"></web-view>h5端通过url获取参数
<script>
let id = getUrlParam('id');
</script>参考https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html
网友回复
有没有不依赖embedding向量的RAG技术?
有没有支持实时打断语音通话并后台帮你执行任何的ai模型?
开源ai大模型文件格式GGUF、MLX、Safetensors、 ONNX 有什么区别?
出海挣钱支付收款PayPal、Wise 、PingPong、Stripe如何选择?
如何实现类似google的图片隐形水印添加和识别技术?
linux上如何运行任意windows程序?
ai能写出比黑客还厉害的零日漏洞等攻击工具攻击任意软件系统工程?
js如何获取浏览器的音频上下文指纹、Canvas指纹、WebGL渲染特征?
为啥ai开始抛弃markdown文本,重新偏好html文本了?
网站有没有办法鉴别访问请求是由ai操控chrome-devtools-mcp发出的?


