RN WebView和H5之间的通信

WebView和H5相互发送监听消息

1.1 Rn向h5发送消息

  a. rn 发消息给你h5

  

复制代码
<WebView
source={
{ uri: `${ENVIRONMENT[GLOBAL.CURR_ENV].logistics}?token=${GLOBAL.TOKEN}` }}
ref={webview => this.webview = webview}
onMessage={this._getH5Data}
onLoadEnd={
  () => {
   this.refs.webView.postMessage('RN向H5发送的消息');  //主意 一定是字符串传输
  }
}
useWebKit={true}
onError={this._errorFn}
startInLoadingState={true}
/>
复制代码

 

 

  b. 在H5中注册监听
window.onload = function() {
     document.addEventListener('message', function(msg) {
       console.log(msg)
       message = msg.data;
   });
 }

 

1.2 H5向RN发送消息

  a. 在RN端通过onMessage接收消息

复制代码

<WebView
source={
{ uri: `${ENVIRONMENT[GLOBAL.CURR_ENV].logistics}?token=${GLOBAL.TOKEN}` }
}
ref={webview => this.webview = webview}
onMessage={(event) => {console.log(event.nativeEvent.data);}}
onLoadEnd={this._sendH5}
useWebKit={true}
onError={this._errorFn}
startInLoadingState={true}
/>
复制代码

  b. H5发送消息,此时只能传递string类型

window.postMessage('网页向rn发送的消息');

 

posted @   zhengyan_web  阅读(644)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示