Не удалось получить доступ к объекту запроса UIWebView внутри webViewDidStartLoad - PullRequest
0 голосов
/ 25 февраля 2012

Я пытаюсь получить доступ к объекту запроса UIWebView в webViewDidStartLoad следующим образом:

- (void) webViewDidStartLoad:(UIWebView *)webView {
    NSLog(@"req : %@", [webView request]);
    -----
    -----
}

В консоли отображается следующее: req: (null)

Возможно ли вышесказанное или я что-то не так делаю?голосование против

Я не хочу использовать его внутри webView:shouldStartLoadWithRequest:)request navigationType:, так как этот метод вызывается не всегда для goBack и goForward методов

1 Ответ

1 голос
/ 28 февраля 2012

Похоже, вам все равно придется рассмотреть shouldStartLoadWithRequest.

Провел некоторое тестирование, и похоже, что [webView request] "на шаг отстает" в методах делегатов.

Это был код:

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

    NSLog(@"req1a : %@", [request URL]);    
    NSLog(@"req1b : %@", [[webView request] URL]);    

    return YES;
}

- (void) webViewDidStartLoad:(UIWebView *)webView {

    NSLog(@"req2 : %@", [[webView request] URL]);    
}

И это были результаты для первоначального ( about: blank ) и после клика ( некоторый видеопоток, не фактическая распечатка ) запроса:

первоначальный запрос:

req1a: about: blank

req1b: (ноль)

req2:

после нажатия на ссылку:

req1a: xttp: //origin.biokoda.tv/...

req1b: about: blank

req2: about: blank

Похоже, [webview request] удерживает последний загруженный запрос.

...