iOS uiwebview goBack history control



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

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

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

示例代码:

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

这里有一个简单的uiwebview浏览器,如果你想玩它:https://github.com/msencenb/UIWebView-Example

对于 swift 3 版本的 Msencenb 回答:

if webView.canGoBack {
    webView.goBack()
}

最新更新