Как передать параметры из response-native-webview в javascript?
Попытка отправить параметры из act-native-WebView в функцию javascript.
попробовал injectedjs, который не работал
Должен быть в состоянии передать параметры из веб-просмотра в функцию javascript.
1 ответ
Решение
Вы можете использовать injectedJavaScript
в Webview
Это опора 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}
/>
Если вы хотите отправить данные на домашнюю страницу, вы можете использовать пост-сообщение.
использование
// 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}
/>