iOS uiwebview goBack 历史控件
Posted
技术标签:
【中文标题】iOS uiwebview goBack 历史控件【英文标题】:iOS uiwebview goBack history control 【发布时间】:2012-06-03 17:37:14 【问题描述】:我在 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];
【问题讨论】:
【参考方案1】:UIWebviews 具有实例方法,允许您在历史记录中前后移动,而无需跟踪最后一个请求。您是否有特殊原因专门保存最后一个请求?
示例代码:
if ([webView canGoBack])
[webView goBack];
如果你想玩的话,这里有一个简单的 uiwebview 浏览器项目: https://github.com/msencenb/UIWebView-Example
【讨论】:
我已经在使用这种方法,但我需要启用或禁用 goBack 操作,具体取决于请求是否比第一个加载的页面更旧! 好的。我认为您应该使用 uiwebview 委托方法等待在第一页上发生重定向(以便加载正确的第一页): webViewDidFinishLoad: 然后保存到您的实例变量。【参考方案2】:对于 swift 3 版本的 Msencenb 答案:
if webView.canGoBack
webView.goBack()
【讨论】:
以上是关于iOS uiwebview goBack 历史控件的主要内容,如果未能解决你的问题,请参考以下文章
Syncfusion 控件未在 iOS 本机 UIWebView 上加载