【问题标题】:iOS 5 bug: UIWebView and goBack and goForwardiOS 5 错误:UIWebView 和 goBack 和 goForward
【发布时间】:2011-11-08 20:08:37
【问题描述】:

我在 iOS 5 中发现了一个错误。

当您使用 UIWebView 并访问某些网站时,您会创建历史链接,就像任何其他浏览器一样。

如果你喜欢使用导航栏,可以使用函数goBackgoForward

在 iOS 4.3 及以下版本中,当您调用此函数时,程序会调用委托函数

webView:shouldStartLoadWithRequest:navigationType:

但在 iOS 5.0 中,这可能发生也可能不发生。如果站点在缓存中,则不会调用此函数。我看到这种情况只发生在 1 个级别(在 goBack 中单击 1 次或在 goFoward 中单击 1 次),在第二次单击时它传入函数。

他们为什么改变它????即使它在缓存中,程序也必须询问我。现在如何解决这个问题:我正在尝试使用浏览器历史记录堆栈并检查 url。但我有问题;(

没有别的办法吗?

  • 我看不到浏览器历史记录?我必须创建我的 ow 列表吗?
  • 我无法清理缓存以强制它传入函数?

有什么建议吗?

【问题讨论】:

  • 这不是 iOS 5 中的错误。它没有加载,所以它不会给你那个回调。如果你想建立一堆用户历史记录,那么你需要在他们去forward时将请求保存到网络视图之外。
  • 这对我来说是一个错误,因为我必须检查一些页面而不是进行一些操作。但是因为它没有给我回调,我该怎么做呢?
  • 如果您真的认为这是一个错误文件,请在 bugreport.apple.com 上报告
  • 没有“我的错误”之类的东西。您依赖于错误的 UIWebView 行为。 Abhi 的回答就是我的意思。
  • @Jessedc,哈哈,你是对的。 “对我来说是一个错误”并不是一件好事......

标签: objective-c ios ios4 ios5


【解决方案1】:

这不是错误,如果设备上有足够的可用 RAM,那么它会将一些页面保留在内存中,因此当您返回时不会再次“加载”它们。

您应该在自己的控制器上创建自己的 goBack:goForward: 操作,并将 goBack/goForward 按钮链接到它们:

- (IBAction)goBack:(id)sender
{
    [self doStuff];

    [self.webView goBack:sender];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多