首先说一下环境,用的是HBX1.9.4,连接的网页是vue工程下的一个界面,存在路由的判断,我做的一些跳转都是在路由里面设置的
一开始,出现了一个很奇怪的问题,不知道是不是在vue中异步请求的问题,后来证明不是
document.addEventListener('UniAppJSBridgeReady', function () {
uni.reLaunch({
url: '../../pages/menu/menu?list='+JSON.stringify(appMenuList)
});
});
在上一段代码中,我只要单独放一个输出语句,完全可以,但是只要加了跳转的语句,就不会触发
后来试了很多次,利用延时语句,发现是不定时的触发,偶尔性
后来网上查找资料参考了支付宝小程序的使用文档,模仿使用window.UniAppJSBridge,完美解决问题,之前看到有人说使用uni.postMessage的时候,uniapp并不能及时收到网页传回来的消息,这个我没有验证,感兴趣的可以试一试,我的代码如下:
setTimeout(() => {
if (window.UniAppJSBridge) {
uni.reLaunch({
url: '../../pages/menu/menu?list='+JSON.stringify(appMenuList)
});
} else {
document.addEventListener('UniAppJSBridgeReady', function () {
uni.reLaunch({
url: '../../pages/menu/menu?list='+JSON.stringify(appMenuList)
});
});
}
}, 100);
大家有问题,可以评论
14 个评论
要回复文章请先登录或注册
喜欢技术的前端
SimpleJalon
老司机开个车 (作者)
SimpleJalon