Как остановить приложение IOS от ответа на обновление HTML в UIWebView - PullRequest
0 голосов
/ 17 мая 2011

В моем приложении я загружаю сайт, который использует рекламные баннеры и HTML-теги обновления.

Каждую минуту (или сколько бы ни был установлен HTML-тег обновления) приложение выходит в сеть для перезагрузки баннера iframe.объявление на веб-сайте (даже если оно скрыто)

Есть ли способ заставить webView игнорировать их?

Я пытался остановить загрузку и другие вещи в webViewDidFinishLoading, но он все еще отвечаетHTML обновляется.

Любые советы или идеи?

Ответы [ 2 ]

0 голосов
/ 07 июля 2011

Я думаю, что он говорит, что вы должны добавить это к своему коду:

-(BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navType
{
    NSURL *pURL = [request URL];
    NSString *pString = [pURL absoluteString];

    // some test on pString, which is now your basic URL to decide if you want to do the load or not
    if ( some test )
        return TRUE;
    else
        return FALSE;
}

или что-то похожее на это ....

Мне пришлось сделать что-то подобное в последнее время, так как UIWebView не прекращает загрузку после того, как его представление исчезает в моей иерархии навигации, вызвало таинственные сбои спустя некоторое время, когда происходит обновление, мне потребовалось некоторое время, чтобы на самом деле выследить его ....

0 голосов
/ 17 мая 2011

Может ли быть, что на веб-странице присутствует javascript, и это загружает данные?Вы можете попробовать исправить патч javascript-кода соответствующим образом, сразу после загрузки страницы (я думаю, что есть способ выполнить свой собственный javascript на загруженной странице, и поэтому вы можете вставить свой собственный js-код, который изменил загруженную страницу, возможно, отключитькод баннера или удалите весь его сегмент div).

И нет ли другой функции делегата, которая вызывается, когда страница переходит по ссылке или загружает дополнительные изображения и т. д.?Не уверен, я давно прикасался к webView.Возможно, вам нужно отфильтровать загрузку изображения баннера там.

На самом деле, посмотрите на UIWebViewDelegate - там есть webView: shouldStartLoadWithRequest: navigationType: Вы реализовали это, чтобы увидеть, можете ли вы фильтровать загрузку баннера там?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...