老司机开个车
老司机开个车
  • 发布:2019-05-09 10:38
  • 更新:2023-03-18 14:15
  • 阅读:13935

关于uniapp中使用web-view的经验

分类:uni-app

首先说一下环境,用的是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);

大家有问题,可以评论

2 关注 分享
2***@qq.com ahWell

要回复文章请先登录注册

2***@qq.com

2***@qq.com

现在还是这样,问题是出在哪里呢
2023-03-18 14:15
一零四三

一零四三

reLaunch是吧所有的页面关闭,重新开启一个页面 这个不合理
2020-10-26 17:55
w***@qq.com

w***@qq.com

请问能打开公众号网页嘛
2020-06-16 10:00
9***@qq.com

9***@qq.com

回复 小明子 :
延时500ms才能获取到 这种怎么解决呢?
2020-02-25 11:29
今天回复我了吗

今天回复我了吗

回复 SimpleJalon :
你好,我想请问下 vue中引入后 在元素点击之后 document.addEventListener('UniAppJSBridgeReady', function() {
console.log("aaa') } 无法打印
2019-11-01 19:47
小明子

小明子

回复 小明子 :
问题撤回,我自己的问题,UniAppJSBridgeReady写成uniAppJSBridgeReady了,我擦^_^
2019-09-19 20:46
小明子

小明子

次噢,我的加载本地的html,而且uni.webview.js我也放在本地加载。使用document.addEventListener('UniAppJSBridgeReady')铁定是不行,非要延时500ms才能获取到window.UniAppJSBridge为true。太恶心了。
2019-09-19 20:36
喜欢技术的前端

喜欢技术的前端

回复 YOLE :
这个也只能在特定的场景下使用的,会在特定时机(后退、组件销毁、分享)触发并收到消息,并不是立即接收,想想别的办法吧,,,我都把功能砍了
2019-06-24 14:04
YOLE

YOLE

回复 喜欢技术的前端 :
层主,你的传值解决了吗?官方说uni.postMessage,可是我试了,好像没啥用
2019-06-20 11:55
YOLE

YOLE

回复 SimpleJalon :
uni.webview.1.5.1.js这个是在你打开的html头部引用,不是在uni的vue里面引用
2019-06-20 11:53