iOS 5 bug: UIWebView and goBack and goForward



我在iOS 5中发现了一个bug。

当你使用UIWebView并访问一些站点时,你创建你的历史链接,看起来像任何其他浏览器。

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

在ios4.3及以下版本中,当你调用这个函数时,程序会调用委托函数

webView:shouldStartLoadWithRequest:navigationType:

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

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

没有别的办法了吗?

    我看不到浏览器历史记录?我必须创建我的清单?
  • 我不能清理缓存来强制它在函数中传递?
见sub

吗?

这不是一个bug,如果设备上有足够的可用RAM,那么它会在内存中保留一些页面,因此当您返回时它们不会被"加载"。

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

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

最新更新