2013-07-25 37 views
1

我正在與UIWebView一起工作。我將這種方法添加到我的UIViewControllerUIWebView ShouldStartLoadWithRequest不能回頭

似乎運作良好,但移動兩步的鏈接,

之後它只是調用末頁和最後一頁之前彼此[myWebView goBack]

[myWebView canGoForward]是假所有的時間。

我可以得到任何幫助嗎?

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

    if (navigationType == UIWebViewNavigationTypeBackForward || 
     navigationType == UIWebViewNavigationTypeLinkClicked || 
     navigationType == UIWebViewNavigationTypeReload) { 

     NSURL *URL = [request URL]; 
     NSLog(@"url: %@", URL); 
     if ([[URL scheme] isEqualToString:@"http"]) { 
      requestObj = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[URL absoluteString]]]; 
      [requestObj addValue:@"myKey" forHTTPHeaderField:@"myHeader"]; 
      [_web_view loadRequest:requestObj]; 
     } 
     return NO; 
    } 
    return YES; 
} 

add:我不能把這個值放在'User-Agent'中。這就是我爲什麼這樣做的原因。

+0

Nice NSLog():) – Injectios

+0

但是爲什麼當webview已經加載它時加載相同的請求呢? – Injectios

+0

對不起,日誌。我很沮喪。 – user2617512

回答

0

我遇到過類似的問題。

問題是,我點擊後退按鈕後再次調用loadRequest。 相反,如果你打電話goBack,goForward,webview正確地維護它的堆棧和canGoback和cangoforward標誌。

我希望這會有所幫助。

相關問題