React Native WebView postMessage does not work

后端 未结 4 2022
旧时难觅i
旧时难觅i 2020-12-13 00:28

I can\'t get React Native WebView postMessage to work. The React Native app successfully receives the post message sendt from the web app. But the web app does not receive m

相关标签:
4条回答
  • 2020-12-13 00:58

    Version 5 of react-native-webview changes how this behavior works. You now want:

    window.ReactNativeWebView.postMessage(data);
    
    0 讨论(0)
  • 2020-12-13 01:02

    I had the same problem and fixed it by adding the event listener to the document instead of the window. Change:

    window.addEventListener("message", ...
    

    to:

    document.addEventListener("message", ...
    
    0 讨论(0)
  • 2020-12-13 01:11

    Add browser specific event listeners

    In Android

     document.addEventListener("message", function(event) {
           alert("This is a Entry Point Working in Android");
           init(event.data)
      });
    

    In iOS

     window.addEventListener("message", function(event) {
           alert("This is a Entry Point Working in iOS");
           init(event.data)
      });
    

    0 讨论(0)
  • 2020-12-13 01:14

    Actually the listener works differently in different OSs such as iOS and Android. So you should use document.addEventListener for Android and window.addEventListener for iOS.

    if(navigator.appVersion.includes('Android')){
                document.addEventListener("message", function (data) {
                   alert("you are in android OS");
                });
            }
    else {
                window.addEventListener("message", function (data) {
                   alert("you are in android OS");               
                 });
            }
    
    0 讨论(0)
提交回复
热议问题