我正在使用UIWebView
。我将此方法添加到UIViewController
。
它似乎运作良好,但在用链接移动两步后,
它只是使用[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;
}
添加:我无法将值放在'User-Agent'中。这就是我这样做的原因。
答案 0 :(得分:0)
我遇到了类似的问题。
问题是,我在点击后退按钮后再次调用loadRequest。 相反,如果你调用goBack,goForward,webview正确维护它的堆栈和canGoback和cangoforward标志。
我希望这会有所帮助。