2

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

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

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

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

有没有办法做到这一点?

谢谢!

4

2 回答 2

7

在页面完全加载时获取 URL 可能是一种安全的方法:

- (void)webViewDidFinishLoad:(UIWebView *)webView {

  NSURLRequest *currentRequest = [webView request];
  NSURL *currentURL = [currentRequest URL];
  NSLog(@"Current URL is %@", currentURL.absoluteString);

}

这对你有用吗?

于 2012-07-09T08:53:20.460 回答
1

实现委托功能

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

在每个页面即将开始在您的 webview 中加载之前(甚至是 goback)都会在上面的函数中调用,并且request给出 url 的对象将被加载。

注意YES如果您允许 webview 加载页面,则返回NO

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

于 2012-07-09T09:14:38.290 回答