类似于Android的“webView.canGoBackOrForward()”的UIWebView方法

时间:2013-08-28 19:34:29

标签: ios objective-c uiwebview browser-history

有没有办法发现我的UIWebView实例是否可以返回或前进 n 次? (读n> 1

在Android中我可以使用

int x ; //times I want to test if my webView can go back or forward
if(webview.canGoBackOrForward(x)){
   ...
}

我可以在iOS中做类似的事吗?我在UIWebView`s Class Reference上找不到任何内容,也没有在网上找到任何内容

编辑:如果没有这样的“官方方式”,那么如何实现这种类似行为编程的任何帮助?

2 个答案:

答案 0 :(得分:0)

在iOS中没有官方方式支持X次

只是:

 [self.webView canGoBack]

或者

[self.webView canGoForward]

答案 1 :(得分:0)

UIWebView没有内置的功能,但您应该可以添加它。 对您的webview进行子类化并将其委托设置为自己。然后实现委托方法:

- (void)webViewDidFinishLoad:(UIWebView *)webView

在此方法中,您希望保留已发出的请求列表。从那里可以看到UIWebView的当前请求对象在请求列表中的位置。请求索引应该可以帮助您确定历史记录中可以来回的次数。

捕获请求列表时要小心。每次加载帧时,UIWebView都会发送此消息。检查this answer以确保您只存储最终请求加载。