2010-07-01 43 views
0

我在UIWebView中加載外部網頁。當網頁加載時,會有一個Alert Box(帶有OK和Cancel按鈕)和一些關於網頁的建議/信息。當我的iphone應用程序中的UIWebView組件加載網頁時,我想阻止此警報框。我如何在我的代碼中實現?在UIWebView中禁用警報框


感謝您的回覆。我不負責外部網頁(但我可以要求關注網頁所有者根據以下要求進行更改)。要求是我的iPhone應用程序可以顯示Alert Box(用於告訴我的iphone應用程序),當我們在iPhone Safari瀏覽器中查看網頁時,而不是在我使用相同網頁的UIWebView中)。我在iPhone Safari和使用UIWebView的iPhone應用程序中都使用了相同的網頁網址。因此,當我們在iPHone Safari中查看網頁時,要求顯示Alert框,並且當我們在iPhone應用程序(在UIWebView中)中查看同一網頁時,不顯示Alert框。希望我已經清楚地解釋了我的要求。請爲此提供任何解決方案。

+0

的可能的複製[UIWebView中:我可以禁用JavaScript的alert()在任何網頁內(https://stackoverflow.com/questions/3400429/UIWebView的燦I-禁用最JavaScript的警報-內,任何 - 網頁) – alpere 2017-07-25 05:33:26

回答

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