Отключить окно оповещения в UIWebView - PullRequest
0 голосов
/ 01 июля 2010

Я загружаю внешнюю веб-страницу в UIWebView.Когда веб-страница загружается, появляется окно оповещения (с кнопками OK и Отмена) с некоторым предложением / информацией о веб-странице.Я хочу заблокировать этот блок предупреждений, когда веб-страница загружается в компоненте UIWebView в приложении iphone.Как я могу реализовать в своем коде?


Спасибо за ваш ответ.Я не отвечаю за внешнюю веб-страницу (но я мог бы попросить владельца соответствующей страницы внести изменения в соответствии со следующим требованием).Требуется, чтобы окно оповещения (использовавшееся для описания моего приложения для iphone) могло отображаться при просмотре веб-страницы в браузере iPhone Safari, но не в UIWebView, в котором я использую ту же веб-страницу) моего приложения для iphone.Я использую один и тот же URL-адрес веб-страницы как в iPhone Safari, так и в приложении для iPhone с UIWebView.Поэтому необходимо отображать окно «Предупреждение», когда мы просматриваем веб-страницу в iPHone Safari, и не отображать поле «Предупреждение», когда мы просматриваем одну и ту же веб-страницу в приложении для iPhone (в UIWebView).Надеюсь, я четко объяснил свое требование.Пожалуйста, дайте любое решение для этого.

Ответы [ 4 ]

1 голос
/ 01 июля 2010

С помощью метода stringByEvaluatingJavaScriptFromString: вы можете изменить все, что захотите на странице, с любым предоставленным вами javascript, так что вы можете перегрузить или заменить функцию оповещения, чтобы сделать то, что вы хотите

0 голосов
/ 08 января 2015

Поскольку UIWebView переводит все предупреждения Javascript в собственный UIAlertViews, довольно просто заблокировать его на собственном конце.Что касается UIAlertView.h, существует только один общедоступный метод для отображения оповещения, который удобно называть: - (void)show;.

@interface UIAlertView (Blocker)
@end

#import "UIAlertView+Blocker.h"

@implementation UIAlertView (Blocker)

- (void)show {
   return;
}
@end

. Вы можете найти ответ здесь: https://stackoverflow.com/a/21698251/2377378

0 голосов
/ 30 августа 2012
0 голосов
/ 01 июля 2010

Вы ответственны за эту внешнюю веб-страницу? Если это так, вы можете сделать что-то вроде этого:

Сделать UIWebView нагрузкой externalpage.html?noalert вместо externalpage.html. Затем на externalpage.html вы можете проверить, существует ли эта переменная строки запроса, и показать alert(), только если она не существует:

if(!document.location.search || document.location.search.substring(1) != 'noalert') {
    alert('Boo!');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...