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

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方法。

31 关注 分享
老船长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 大力的罗大力

要回复文章请先登录注册

x***@163.com

x***@163.com

回复 8***@qq.com :
我和你的问题一样,场景也一样,怎么解决的
2023-08-01 19:14
x***@163.com

x***@163.com

解决了,感谢,确实是覆盖了uni,改源码可以了
2023-08-01 17:02
四季如春

四季如春

引入之后弹出 webUni is not defined ,index.html文件里路径都对 却还是报错了
2023-07-20 17:24
辰微

辰微

uni.webView.postMessage 这样试试
2023-07-10 11:50
栉风

栉风

回复 4***@qq.com :
<script type="text/javascript" src="/static/uni.webview.0.1.52.js"></script>
<script>
// #ifdef H5
window.onload = () => {
console.log('webUni', webUni)
}
// #endif
</script>
根目录下的index.html里加了这些代码,然后对于的h5页面能直接用webUni了 (下载的js里记得把uni对象改一下,我用的webUni)
2023-07-07 17:32
4***@qq.com

4***@qq.com

回复 栉风 :
解决了吗? 我也遇到这问题
2023-07-03 16:28
h***@hunankuai.com

h***@hunankuai.com

在uni-app中,可以使用uni.postMessage方法进行webview之间的通信。但是,uni-app中的webview组件只在App平台(如H5、App、小程序等)中有效,不支持在微信小程序中使用。

如果你在微信小程序中使用uni-app开发,无法使用uni.postMessage方法进行webview之间的通信。微信小程序中的webview组件是原生的webview,不支持uni-app的通信方式。

如果你需要在微信小程序中实现webview之间的通信,可以考虑使用微信小程序原生的webview通信方式,如postMessage和onMessage方法。具体使用方法可以参考微信小程序的官方文档。

另外,需要注意的是,uni-app是基于Vue.js框架开发的,如果你在webview中使用uni-app开发,需要确保webview支持Vue.js框架。如果webview不支持Vue.js框架,可能会导致uni-app无法正常运行。
2023-06-29 16:38
栉风

栉风

uni-app开发的app,webview加载的uni-app开发的网页,webview.js放在index.html里,监听UniAppJSBridgeReady一直不触发是什么原因,大佬知道吗
2023-06-29 16:30
5***@qq.com

5***@qq.com

回复 1***@qq.com :
var B = "undefined" != typeof webUni ? webUni : {}; 文件里面有用到 uni的 换成 webUni
2023-06-23 11:03
嗨哆嚒

嗨哆嚒

我用的 @dcloudio/uni-webview-js,每隔5秒,网页向app发送一次数据,过几分钟后,数据接收就开始出现延迟,从一开始的几秒到几十分钟。这个可能是什么情况?
2023-05-17 16:41