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