webViewDidStartLoad URL запроса не установлен на загружаемый URL - PullRequest
2 голосов
/ 23 марта 2012

Я работаю в браузере, в котором есть кнопки «Назад» и «Вперед», при нажатии которого должен немедленно отображаться URL загружаемой страницы. В настоящее время я делаю что-то вроде [webView goBack];, а затем реализую метод делегата UIWebView:

- (void)webViewDidStartLoad:(UIWebView *)aWebView {
  NSLog(@"began loading URL: %@", aWebView.request.URL);
}

Но это не приводит к поведению, которое я ожидаю.

Например, если я начинаю с www.google.com, а затем перехожу на www.aol.com и затем нажимаю кнопку «Назад», вызывая код goBack веб-представления, NSLog выдаст began loading URL: http://www.aol.com/, даже если следует указать, что google.com загружается. Страница Google отлично загрузится, однако в веб-представлении. Чего я не понимаю, так это того, почему URL не соответствует тому, что загружается. Иногда из журнала выкладывается, что загружается aol.com, а затем google.com, но это случается иногда. Это ошибка в SDK или я что-то упустил?

Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 18 апреля 2012

попробуйте в этом методе делегата

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSLog(@"Request Url:%d",request.URL.absoluteURL);
}
0 голосов
/ 11 февраля 2014

попробовать:

NSString *currentURL;
currentURL = [[NSString alloc] initWithFormat:@"%@", webView.request.mainDocumentURL];
0 голосов
/ 24 марта 2012

Я предлагаю использовать массив строк каждый раз, когда вы загружаете новый URL, вы добавляете его в массив и рядом с ним определяете глобальный счетчик увеличения / уменьшения, основанный на щелчке назад / вперед, чтобы вы могли легко получить этот URL, как этот

NSString *urlString = [urlArray objectAtIndex:theCounterValue];
...