2010-07-01 2 views
0

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


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

+0

Возможный дубликат [UIWebView? Можно ли отключить предупреждения JavaScript Alert() внутри любой веб-страницы] (https://stackoverflow.com/questions/3400429/UIWebView-кан-я-Disable-The-Javascript-уведомление-внутри-любой-веб-страницы) – alpere

ответ

0

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

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

if(!document.location.search || document.location.search.substring(1) != 'noalert') { 
    alert('Boo!'); 
} 
1

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

0

Поскольку 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

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