diff --git a/Libraries/Components/WebView/WebView.ios.js b/Libraries/Components/WebView/WebView.ios.js index eae1ed6f6f2e..66a86a02352b 100644 --- a/Libraries/Components/WebView/WebView.ios.js +++ b/Libraries/Components/WebView/WebView.ios.js @@ -237,11 +237,11 @@ class WebView extends React.Component { */ onNavigationStateChange: PropTypes.func, /** - * A function that is invoked when the webview calls `window.postMessage`. - * Setting this property will inject a `postMessage` global into your + * A function that is invoked when the webview calls `window.postMessageNative`. + * Setting this property will inject a `postMessageNative` global into your * webview, but will still call pre-existing values of `postMessage`. * - * `window.postMessage` accepts one argument, `data`, which will be + * `window.postMessageNative` accepts one argument, `data`, which will be * available on the event object, `event.nativeEvent.data`. `data` * must be a string. */ diff --git a/React/Views/RCTWebView.m b/React/Views/RCTWebView.m index 7220fddeb8b3..acbb30f26554 100644 --- a/React/Views/RCTWebView.m +++ b/React/Views/RCTWebView.m @@ -292,8 +292,7 @@ - (void)webViewDidFinishLoad:(UIWebView *)webView } #endif NSString *source = [NSString stringWithFormat: - @"window.originalPostMessage = window.postMessage;" - "window.postMessage = function(data) {" + @"window.postMessageNative = function(data) {" "window.location = '%@://%@?' + encodeURIComponent(String(data));" "};", RCTJSNavigationScheme, RCTJSPostMessageHost ]; diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java index ec3107f20398..7216340f75df 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java @@ -295,8 +295,7 @@ public void onReceiveValue(String value) { } loadUrl("javascript:(" + - "window.originalPostMessage = window.postMessage," + - "window.postMessage = function(data) {" + + "window.postMessageNative = function(data) {" + BRIDGE_NAME + ".postMessage(String(data));" + "}" + ")");