2011-08-08 43 views
1

如何正确处理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

回答

0

你可以使用JavaScript的注射:

再回到:

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

展望未来:

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

这有帮助吗?

+0

我不知道这可以帮助我吗?请说明这一点? – helli99

+0

您必须制作自己的后退按钮并将此代码插入点击功能。有教程如何实现:http://www.youtube.com/watch?v=uAdmetwz7sc请让我知道如果你需要任何帮助。 – Piotr

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; 
} 

然后处理自己的方法存在。