10

我在 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];
    }
4

2 回答 2

31

UIWebviews 具有实例方法,允许您在历史记录中前后移动,而无需跟踪最后一个请求。您是否有特殊原因专门保存最后一个请求?

示例代码:

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

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

于 2012-06-03T21:31:26.240 回答
0

对于 swift 3 版本的 Msencenb 答案:

if webView.canGoBack {
    webView.goBack()
}
于 2017-01-25T20:10:01.033 回答