微信小程序的坑之wx.miniProgram.postMessage
2023-09-27 14:26:44 时间
工作中有个需求是小程序的网页在关闭的时候,需要回传给小程序一个参数
查阅小程序官方文档,有这样一个接口 wx.miniProgram.postMessage
,可以用来从网页向小程序发送消息,然后通过 bindmessage
事件来监听消息,如下是官方文档描述
微信小程序相关文章
以下是代码:
// 网页代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>postMessage</title>
</head>
<body>
<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
<script type="text/javascript">
wx.miniProgram.postMessage({ data: '获取成功' })
wx.miniProgram.navigateBack({delta: 1})
</script>
</body>
</html>
// 小程序代码
<web-view bindmessage="handleGetMessage" src="test.html"></web-view>
Page({
handleGetMessage: function(e) {
console.log(e.target.data)
}
})
写完试了下,期待打印 “获取成功” ,而实际小程序里面啥也没打印。。。
然后仔细看官方文档,发现有这句话:
网页向小程序 postMessage
时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。
也就是只有在小程序后退、组件销毁、分享时才会触发
所以应该改变 postMessage
的时机,调换顺序就可以了
<script type="text/javascript">
wx.miniProgram.navigateBack({delta: 1})
wx.miniProgram.postMessage({ data: '获取成功' })
</script>
这样再试试,发现能正常捕获消息了
相关文章
- 基于微信小程序的英语单词系统的设计与实现(论文+源码)_kaic
- 基于微信小程序的商城购物系统的设计与实现(论文+源码)_kaic
- 微信小程序入门四: 导航栏样式、tabBar导航栏
- 获取微信公众号二维码方法
- 精品微信小程序ssm的火锅店点餐订餐外卖系统vuejs
- 微信小程序私教预约管理系统+后台管理系统
- 精品微信小程序ssm的足球篮球乒乓球球馆场地预约系统+后台vuejs
- 微信JSAPI分享朋友圈调试经验:invalid signature签名错误排查
- 微信小程序 this和that详解及简单实例
- 获取微信小程序AccessToken
- 批量获取微信公众号的粉丝信息,抓取速度提升86%
- 微信小程序UI组件、开发框架、实用库...
- 使用EasyWechat快速开发微信公众号支付
- 微信小程序提交审核并发布详细流程(一)
- php微信支付接口开发程序(一)
- RN:微信登录
- 微信小程序 获取session_key和openid
- 微信小程序 wx.uploadFile(object), wx.downloadFile(object) API
- 微信小程序完整精品demo:移动小商城:基于node,包含前后台