uni-app 华为快应用生成的webview存在问题 在这里使用webview的
uni-app 华为快应用生成的webview存在问题 在这里使用webview的
示例代码:
<web-view
class="flex flex-1"
src="https://www.baidu.com"
ref="webview"
[@message](/user/message)="getMessage"
></web-view>
操作步骤:
<web-view
class="flex flex-1"
src="https://www.baidu.com"
ref="webview"
[@message](/user/message)="getMessage"
></web-view>
预期结果:
- getMessage 可以调用
## 实际结果:
- getMessage 不可以调用
bug描述:
在这里使用webview的@message方法接收不到
更多关于uni-app 华为快应用生成的webview存在问题 在这里使用webview的的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app 华为快应用生成的webview存在问题 在这里使用webview的的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在华为快应用平台,<web-view> 组件的 @message 事件确实存在兼容性问题。这是由于快应用平台的底层实现与标准 Webview 存在差异,导致通过 postMessage 从内嵌网页向 uni-app 应用发送的消息无法正常触发 @message 事件监听。
当前可行的解决方案:
- 使用条件编译进行平台判断:在代码中针对华为快应用平台采用不同的通信方式。
// 在页面或组件脚本中 export default { onLoad() { // #ifdef quickapp-webview-huawei // 华为快应用特有的处理逻辑 this.initQuickappWebview(); // #endif }, methods: { // #ifdef quickapp-webview-huawei initQuickappWebview() { // 通过快应用官方提供的API与Webview进行通信 // 例如,通过自定义事件或全局变量 }, // #endif getMessage(event) { // 其他平台正常处理 console.log('收到消息:', event.detail); } } }

