如何将参数从 react-native-webview 传递到 javascript?
How to pass the parameters from react-native-webview to the javascript?
正在尝试将参数从 react-native-WebView 发送到 javascript 函数。
试过 injectedjs 没用
应该能够将参数从 webview 传递到 javascript 函数。
您可以在 Webview
中使用 injectedJavaScript
这是React-Native-WebView
的道具。
用法
const message = "webview"
let jsCode = `jsfunc(message);`;
<WebView
source={{ uri: "www.example.com" }}
style={{ flex: 1 }}
ref={webview => {this.myWebview = webview;}}
injectedJavaScript={jsCode}
javaScriptEnabled={true}
/>
如果要发送数据到首页,可以使用post-message。
用法
// receive message from homepage
onMessage( event ) {
console.log( event.nativeEvent.data );
}
// send message
sendPostMessage() {
console.log( "Sending post message" );
this.myWebview.postMessage( "Post message" );
}
...
<TouchableHighlight onPress={() => this.sendPostMessage()}>
<Text>Send post message</Text>
</TouchableHighlight>
<WebView
style={{flex: 1}}
source={{ uri:"www.example.com" }}
ref={( webView ) => this.myWebview = webView}
onMessage={this.onMessage}
/>
正在尝试将参数从 react-native-WebView 发送到 javascript 函数。
试过 injectedjs 没用
应该能够将参数从 webview 传递到 javascript 函数。
您可以在 Webview
中使用injectedJavaScript
这是React-Native-WebView
的道具。
用法
const message = "webview"
let jsCode = `jsfunc(message);`;
<WebView
source={{ uri: "www.example.com" }}
style={{ flex: 1 }}
ref={webview => {this.myWebview = webview;}}
injectedJavaScript={jsCode}
javaScriptEnabled={true}
/>
如果要发送数据到首页,可以使用post-message。
用法
// receive message from homepage
onMessage( event ) {
console.log( event.nativeEvent.data );
}
// send message
sendPostMessage() {
console.log( "Sending post message" );
this.myWebview.postMessage( "Post message" );
}
...
<TouchableHighlight onPress={() => this.sendPostMessage()}>
<Text>Send post message</Text>
</TouchableHighlight>
<WebView
style={{flex: 1}}
source={{ uri:"www.example.com" }}
ref={( webView ) => this.myWebview = webView}
onMessage={this.onMessage}
/>