Hier ist ein Webview, das ich für mein vorheriges Projekt verwendet habe.
<WebView
ref="webview"
source={{uri:this.state.url}}
onNavigationStateChange={this._onNavigationStateChange.bind(this)}
javaScriptEnabled = {true}
domStorageEnabled = {true}
injectedJavaScript = {this.state.cookie}
startInLoadingState={false}
/>
wichtig für Sie ist diese Zeile:
onNavigationStateChange={this._onNavigationStateChange.bind(this)}
und Sie die URL wie folgt lesen:
_onNavigationStateChange(webViewState){
console.log(webViewState.url)
}
Wenn ich dieses Feuer 3 mal richtig erinnere, wenn eine URL zu laden.
webviewState Objekt Prototyp:
{
canGoBack: bool,
canGoForward: bool,
loading: bool,
target: number,
title: string,
url: string,
}
Die dritte (letzte) Mal dieses Ereignis genannt wird, ist das Laden Attribut
lassen Sie mich falsch wissen, ob es hilft.
Es funktioniert. Vielen Dank. Gibt es eine Erklärung zu WebViewState Details? – bns
Wie erkennen Sie nur URL/Hash-Änderung? Wenn die Site ihren Status nicht ändert, wird onNavigationStateChange nicht ausgelöst. – chetan
@chetan würde die Quelle dann nicht ändern? Ich habe seit langem nicht mehr mit RN gearbeitet – dv3