如何正确处理UIWebView中的重定向?

时间:2011-08-08 09:28:30

标签: iphone redirect uiwebview

如何正确处理UIWebView中的重定向,而不是混淆后退按钮历史记录?

我在UIWebView中有一个URL请求(例如“http://www.example.com/lunch_menu.php”),该请求重定向到每周更新的PDF文件(例如“http://www.example.com/” august_kw1.pdf“)。

重定向到PDF文件后,UIWebView的后退按钮包含PHP文件的URL。如果我点击后退按钮,它会再次重定向到PDF文件,从而产生无限的交互循环。

我想知道是否有办法以明确的方式处理这个问题?我想保留UIWebView的后退按钮历史记录而不是自己编写的....

问候, helli99

2 个答案:

答案 0 :(得分:4)

您可以添加UIWebViewDelegate

分配您的WebView.delegate = self;

然后添加此方法:

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{

    if(request.URL == [NSURL URLWithString:@"http://www.example.com/august_kw1.pdf"])
    {

    } else {

    }

    return  YES;
}

然后在那里处理你自己的方法。

答案 1 :(得分:0)

您可以使用JavaScripts注入:

回去:

[ yourWebView stringByEvaluatingJavaScriptFromString:@"history.back();"];

前进:

[ yourWebView stringByEvaluatingJavaScriptFromString:@"history.forward();"];

这有用吗?