【发布时间】:2011-09-14 20:16:46
【问题描述】:
如何检测在 UIWebView 中查看的最后一页?基本上我想说,if(在 if 语句中)在 UIWebView 中查看的最后一页是 @"http://www.example.com",而当前UIWebView 页面是@"http://www.lalala.com" 然后......和我的行动。
谢谢,
詹姆斯
【问题讨论】:
标签: iphone objective-c ios uiwebview webkit
如何检测在 UIWebView 中查看的最后一页?基本上我想说,if(在 if 语句中)在 UIWebView 中查看的最后一页是 @"http://www.example.com",而当前UIWebView 页面是@"http://www.lalala.com" 然后......和我的行动。
谢谢,
詹姆斯
【问题讨论】:
标签: iphone objective-c ios uiwebview webkit
在 webview 委托的 webViewDidFinishLoad: 中,获取最后加载页面的 url(通过检查 webview 的 request 属性)并将其存储在某个属性中。然后在 if 语句中使用该属性。
编辑:添加一个属性(让我们说 UIWebView 委托类):
@property (nonatomic, retain) NSURL* lastLoadedURL;
然后添加这个方法:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
self.lastLoadedURL = [webView.request URL];
}
因此,当您需要检查最后加载的页面时,您会执行以下操作:
if([[self.lastLoadedURL lastPathComponent] isEqualToString:@"somepage.html"]) {
//do stuff
}
或者如果您不在 UIWebView 委托类中,则需要将 self.lastLoadedURL 替换为 (delegateClassInstance).lastLoadedURL。
【讨论】: