在执行[webView goBack]后获取UIWebview的URL

时间:2012-07-09 08:46:29

标签: iphone uiwebview

我了解您可以通过以下代码获取UIWebview的当前网址:

 NSString *urlString = [[[webView request] URL] absoluteString];

但是,我发现这只适用于您实际加载的webView。

在我的应用程序的某个时刻,我正在这样做:[webView goBack],它将显示webView的上一页。但是,调用上面的行来获取URL并不反映显示的实际页面。

有没有办法实现这个目标?

谢谢!

2 个答案:

答案 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

希望这可以帮助您解决问题。