昭昭L
昭昭L
  • 发布:2023-06-19 11:01
  • 更新:2023-06-20 09:00
  • 阅读:2786

uniapp如何利用webview实现app向h5通信

分类:uni-app

uniapp如何利用webview实现app向h5通信

2023-06-19 11:01 负责人:无 分享
已邀请:
FullStack

FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866

Diligent_UI

Diligent_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序

官方文档有,直接使用sdk,https://uniapp.dcloud.net.cn/component/web-view.html#web-view

昭昭L

昭昭L (作者) - 开心就好

可以的

xiaobai99

xiaobai99 - 介绍

在uni-app中,你可以使用uni.createWebViewContext()方法获取webview实例的上下文对象来实现app向h5通信。通过调用实例的postMessage方法可以向webview发送消息,而通过在webview的window对象上添加message监听器即可接收来自app的消息。  

具体步骤如下:  

1. 在App.vue中创建一个webview组件  

```html  
<template>  
  <view>  
    <web-view src="https://www.example.com" id="webview"></web-view>  
  </view>  
</template>
  1. 在mounted中获取该组件的上下文对象
mounted() {  
  this.webViewContext = uni.createWebViewContext('webview', this);  
}
  1. 向webview发送消息
this.webViewContext.postMessage({ type: 'hello', data: 'world' });
  1. 在H5页面中监听消息
window.addEventListener('message', (event) => {  
  console.log(event.data);  
});

以上步骤可以实现基本的app向h5通信,如果需要更复杂的通信方式,也可以结合uni-app的vuex状态管理或事件总线来实现。

  • 8***@qq.com

    uni.createWebViewContext这个方法调用就是is not a function ,git案例拿下来也是

    2023-09-13 16:21

  • j***@163.com

    uni.createWebViewContext这个方法调用就是is not a function

    2024-03-18 11:49

BoredApe

BoredApe - 有问题就会有答案。

要回复问题请先登录注册