2011-08-08 51 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; 
} 

然後處理自己的方法存在。