iOS uiwebview goBack历史记录控件

时间:2012-06-03 17:37:15

标签: iphone objective-c ios xcode cocoa-touch

我在uiwebview上加载“webpage1”并将其第一个请求保存在实例变量“webviewHistory”上。然后,我必须重新使用该webview来加载另一个页面“webpage2”(也将其第一个请求保存到“webviewHistory”),并且历史应该从此请求开始。问题是如果我从“webpage2”执行goBack(按钮IBAction),我可以继续回到“webpage1”历史记录并跟随。 如果我检查请求并与初始保存进行比较,则有效!但不是重定向,例如,如果我触发对www.youtube.com的请求,请求会重定向到m.youtube.com,第一个不会保存为导航历史记录!怎么解决?

if (![webViewSocial.request.URL.absoluteString isEqualToString:self.webviewHistory]){
    [webViewSocial goBack];
    }

2 个答案:

答案 0 :(得分:31)

UIWebviews具有实例方法,允许您使用历史记录前后转发,而无需跟踪上一个请求。您是否特别保存了最后一个请求?

示例代码:

if ([webView canGoBack]) {
    [webView goBack];
}

如果您想使用它,这是一个简单的uiwebview浏览器项目: https://github.com/msencenb/UIWebView-Example

答案 1 :(得分:-1)

对于swift 3版本的Msencenb回答:

if webView.canGoBack {
    webView.goBack()
}