【发布时间】:2020-01-06 10:19:14
【问题描述】:
我正在 React Native Web 视图下加载一个 Vue Web 应用程序。一旦我单击 Web 视图中的按钮。它需要在 react native 中被检测到。有没有可能 ?
【问题讨论】:
-
你试过我的解决方案了吗?
标签: react-native vue.js react-native-webview
我正在 React Native Web 视图下加载一个 Vue Web 应用程序。一旦我单击 Web 视图中的按钮。它需要在 react native 中被检测到。有没有可能 ?
【问题讨论】:
标签: react-native vue.js react-native-webview
你可以使用
window.postMessage("Click in Vue"); 上的按钮单击Vue js 将消息表单html 页面发布到react-native
window.postMessage() 方法可以安全地启用 Window 对象之间的跨域通信;例如,在页面和它产生的弹出窗口之间,或者在页面和嵌入其中的 iframe 之间。
您可以像这样在Webview 组件中收到此消息:
<WebView
onMessage={(message) => this.onMessage(message)}
/>
在onMessage 方法中你可以得到这样的数据:
onMessage(message) {
console.log(message.nativeEvent.data);
}
更新
react-native-webview 似乎改变了它调用 postMessage 的方式,所以现在你应该这样做:window.ReactNativeWebView.postMessage("Click in Vue");
阅读更多here
【讨论】: