允许我指定目标网址的Webview组件,例如facebook.com
render() { return ( <WebView source={{uri: https://www.facebook.com}} style={{marginTop: 20}} /> ); }
但是,如果我点击Facebook中的链接,我如何获取点击的网址或网址?
这是我用于以前项目的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)}
你可以这样读取URL:
_onNavigationStateChange(webViewState){ console.log(webViewState.url) }
如果我没记错的话,加载网址时会发生3次火灾.
webviewState对象原型:
{ canGoBack: bool,canGoForward: bool,loading: bool,target: number,title: string,url: string,}
调用此事件的第3个(最后)时间,加载属性为false
让我知道它是否有帮助.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。