2015-09-11 3 views

ответ

0

Лучше всего установить делегата для WebView и реализовать метод делегата:

  • Webview: shouldStartLoadWithRequest: navigationType:

В зависимости от того, как построена страница, вы можете получить уведомление о том, когда изображение хочет загрузить, и вернуть NO, чтобы веб-браузер не мог загрузить этот ресурс.

Edit:

Если вы не установили делегат вашего просмотра веб-страниц в в XIb, то в какой-то момент в установке:

self.webview.delegate = self; 

Затем в классе вы установили в качестве делегата, то например:

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

NSRange rangeOfPNG = [request.URL.absoluteString rangeOfString:@".png"]; 
NSRange rangeOfJPG = [request.URL.absoluteString rangeOfString:@".jpg"]; 

if (rangeOfPNG.location != NSNotFound || rangeOfJPG.location != NSNotFound) 
    { 
    return (NO); // Tells the webview to skip loading this part of the page 
    } 

return (YES);  // Allows the webview to load everything else 
} 

Так что все, что связано с расширением .png или .jpg, пропускается.

Это сильно зависит от структуры страницы, которую вы загружаете. Для более сложных страниц может не быть обратного вызова для определенного изображения.

Это очень помогает, если вы знаете структуру страницы, которую вы пытаетесь загрузить.

Вы также можете использовать Safari для изучения кода страницы, чтобы определить, что там находится. Кроме того, установка точки останова в начале метода делегата shouldStartLoadWithRequest позволит вам точно увидеть, какие запросы проходят, и вы можете использовать это для строк жесткого кода, которые вы хотите, чтобы веб-просмотр пропускал загрузку.

+0

, пожалуйста, предоставьте код для этого. –

+0

Отредактированный мой ответ с примером и объяснением. –

Смежные вопросы