Webview组件允许我指定目标url,例如facebook.通用域名格式
render() {
return (
<WebView
source={{uri: https://www.facebook.com}}
style={{marginTop: 20}}
/>
);
}
然而,如果我点击facebook上的链接,我如何才能得到被点击的url或被登陆的url?
Webview组件允许我指定目标url,例如facebook.通用域名格式
render() {
return (
<WebView
source={{uri: https://www.facebook.com}}
style={{marginTop: 20}}
/>
);
}
然而,如果我点击facebook上的链接,我如何才能得到被点击的url或被登陆的url?
这是我在上一个项目中使用的Webview.
<WebView
ref="webview"
source={{uri:this.state.url}}
onNavigationStateChange={this._onNavigationStateChange.bind(this)}
javaScriptEnabled = {true}
domStorageEnabled = {true}
injectedJavaScript = {this.state.cookie}
startInLoadingState={false}
/>
这句话对你来说至关重要:
onNavigationStateChange={this._onNavigationStateChange.bind(this)}
你可以这样读网址:
_onNavigationStateChange(webViewState){
console.log(webViewState.url)
}
如果我没记错的话,在加载url时会触发3次.
webviewState对象原型:
{
canGoBack: bool,
canGoForward: bool,
loading: bool,
target: number,
title: string,
url: string,
}
第三次(最后一次)调用此事件时,加载属性为false
如果有帮助,请告诉我.