2013-07-25 23 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标志。

我希望这会有所帮助。

相关问题