Composant Webview me permettant de spécifier une URL de destination, par exemple facebook.com
render() {
return (
<WebView
source={{uri: https://www.facebook.com}}
style={{marginTop: 20}}
/>
);
}
Cependant, si je clique sur le lien dans Facebook, comment puis-je obtenir l'url cliquée ou l'URL atterri?
Voici une vue Web que j'ai utilisée pour mon projet précédent.
<WebView
ref="webview"
source={{uri:this.state.url}}
onNavigationStateChange={this._onNavigationStateChange.bind(this)}
javaScriptEnabled = {true}
domStorageEnabled = {true}
injectedJavaScript = {this.state.cookie}
startInLoadingState={false}
/>
pour vous l'essentiel est cette ligne:
onNavigationStateChange={this._onNavigationStateChange.bind(this)}
et vous pouvez lire l'URL comme ceci:
_onNavigationStateChange(webViewState){
console.log(webViewState.url)
}
Si je me souviens bien, cela se déclenche 3 fois lors du chargement d'une URL.
prototype d'objet webviewState:
{
canGoBack: bool,
canGoForward: bool,
loading: bool,
target: number,
title: string,
url: string,
}
La troisième (dernière) fois que cet événement est appelé, l'attribut de chargement est faux
faites-moi savoir si cela aide.