我了解您可以通过以下代码获取UIWebview的当前网址:
NSString *urlString = [[[webView request] URL] absoluteString];
但是,我发现这只适用于您实际加载的webView。
在我的应用程序的某个时刻,我正在这样做:[webView goBack],它将显示webView的上一页。但是,调用上面的行来获取URL并不反映显示的实际页面。
有没有办法实现这个目标?
谢谢!
答案 0 :(得分:7)
在页面完全加载时获取URL可能是一种安全的方法:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSURLRequest *currentRequest = [webView request];
NSURL *currentURL = [currentRequest URL];
NSLog(@"Current URL is %@", currentURL.absoluteString);
}
这对你有用吗?
答案 1 :(得分:1)
实施委托功能
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
在每个页面即将开始加载你的webview之前(即使是goback)也会在上面的函数中调用,而request
对象会给你的url加载。
注意:如果您允许webview加载其他网页YES
,请返回NO
。
希望这可以帮助您解决问题。