雷峰
雷峰
  • 发布:2021-03-18 17:31
  • 更新:2024-11-07 16:07
  • 阅读:29770

webview使用uniapp项目开发无法使用uni.postMessage(踩坑经验分享)

分类:uni-app

1、使用uniapp项目写H5 webview,使用hello uniapp的模板,按照webview文档里的源码往template.h5.html里面写入相关内容。
2、引入的https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js脚本,它这个地方是个坑。你要手动改源码。uni.webview.js文件里面注册的就是uni对象。被uniapp项目自带的uni对象覆盖了,我就是把源码里面注册uni对象换了个名字(webUni)就好了。
END:这里把我自己改好的js文件贴上来,包括template.h5.html文件,可以直接使用webUni.postMessage方法。

30 关注 分享
老船长9999 zwzz 千羽羊驼 1***@163.com myforr 1***@139.com Huareu 1***@qq.com 4***@qq.com 言会咸 ai自由畅想 1***@qq.com 5***@qq.com DLO seabert 9***@qq.com 8***@qq.com 8***@qq.com wetyou DCloud_UNI_OttoJi 2***@qq.com Adlaw 套马杆的套子 3***@qq.cm 1***@qq.com 2***@qq.com 1***@qq.com 9***@qq.com 1***@qq.com 1***@qq.com

要回复文章请先登录注册

梧桐树下的雪

梧桐树下的雪

TypeError: _uniWebview.default.chooseFile is not a function
显示不是一个方法?????
2023-04-25 10:34
1***@qq.com

1***@qq.com

您好, webUni.postMessage和webUni.navigateBack()都报errMsg: "invokeMiniProgramAPI:ok"错误,这是什么情况
2023-01-11 15:14
j***@163.com

j***@163.com

回复 seabert :
h5发送消息,小程序可以接收到么?
2022-12-26 23:47
2***@qq.com

2***@qq.com

写的真好
2022-11-28 19:29
seabert

seabert

亲测有效 感谢!
2022-11-28 19:23
9***@qq.com

9***@qq.com

回复 DCloud_uni-ad_HDX :
无效回复
2022-11-14 15:38
ducc不必

ducc不必

回复 雷峰 :
会在特定时机(后退、组件销毁、分享)触发并收到消息。
在用uniapp编译的微信小程序 我发现真的只有在后退和组件销毁、分享三个状态下会触发 uni.postMessage,请问有什么办法可以做到实时通讯呀
2022-11-10 10:55
DCloud_uni-ad_HDX

DCloud_uni-ad_HDX

uni 冲突问题 使用 uni.webView...,参考文档 [https://uniapp.dcloud.net.cn/component/web-view.html#faq](https://uniapp.dcloud.net.cn/component/web-view.html#faq)
2022-11-10 10:47
雷峰

雷峰 (作者)

回复 ducc不必 :
因为用uniapp做的h5项目会自带一系列uni的api,旧sdk里的扩展方法会被uniapp项目的方法覆盖,这个文章的解决方法是重写了下webview sdk的源码注册对象
2022-11-09 17:25
雷峰

雷峰 (作者)

回复 ducc不必 :
先看一下你的H5项目是否能调用到webview的扩展方法,uni.postMessage。可能是webview sdk的版本问题
2022-11-09 17:23