React native WebView 遇到的问题

2019-02-26  本文已影响0人  海利昂

解决办法 

injectedJavascript should instead be the following

(function(){

  var originalPostMessage = window.postMessage;

  var patchedPostMessage = function(message,targetOrigin,transfer){ 

    originalPostMessage(message,targetOrigin,transfer);

  };

  patchedPostMessage.toString = function(){ 

    return String(Object.hasOwnProperty).replace('hasOwnProperty','postMessage'); 

  };

  window.postMessage = patchedPostMessage;

})();

And then it works! 😄

And if any one is interested, in my code instead of writing a giant string I did the following\

=

=

=

=

=

>>>>>>>>>>>>>⬇️

const patchPostMessageFunction = function(){

  var originalPostMessage = window.postMessage;

  var patchedPostMessage = function(message,targetOrigin,transfer){ 

    originalPostMessage(message,targetOrigin,transfer);

  };

  patchedPostMessage.toString = function(){ 

    return String(Object.hasOwnProperty).replace('hasOwnProperty','postMessage');

  };

  window.postMessage = patchedPostMessage;

};

const patchPostMessageJsCode = '(' + String(patchPostMessageFunction)+ ')();';

...

<WebView injectedJavaScript={patchPostMessageJsCode} />

上一篇 下一篇

猜你喜欢

热点阅读