请问RN如何向网页发送消息



  • 0_1503629979539_图片.png
    现在已经可以接收网页发送过来的消息,但是如何向网页发送消息呢,this.webview.postMassage()这句应该怎么写,现在报错如下,0_1503630045328_图片.png
    求大神赐教



  • 帖一下整个类文件的代码,感觉你帖的这些好奇怪



  • 可以使用webview的injectJavaScript方法 参考地址



  • @fengjingmeng 0_1503994271940_图片.png
    这个就是总的代码,已经完成了rn接收网页的消息的,现在想从rn向网页传递消息,直接this.webview.postMessage()不可以,不清楚怎么传。。。



  • @RazerTang 请问大神应该如何写,0_1503994564256_图片.png script语句应该写什么才能向网页传递消息,网页那边又该如何监听?多谢!



    • 列表rn发送函数
      sendMessage(data){
      LogInfo('sendMessage:',data);
      if (!data) {
      LogErr('send to h5 data is empty');
      return;
      }

        try {
            const dataStr = JSON.stringify(data);
            this.webview && this.webview.postMessage(dataStr);
        } catch (err) {
            LogErr('sendMessage err: ', err);
        }
      

      };

    • 列表h5接受函数
      document.addEventListener('message', function (e) {
      // e.target matches document from above
      var data = e.data;
      requestAnimationFrame(function () {
      try {
      var dataJSON = JSON.parse(data);

            } catch (err) {
      
            }
        })
      

      });



  • 0_1504256849478_图片.png ,请问这是什么意思,谢谢!源码0_1504256887660_图片.png 0_1504256917135_图片.png



  • @gukeming 请问这是什么意思,0_1504256978597_图片.png

    源码如下,谢谢!

    0_1504257008608_图片.png
    0_1504257016872_图片.png


登录后回复