iOS开发中使用UIWebView 屏蔽 alert警告框
如果是网页内容里面的alert,我们可以等网页加载完毕,也就是在webViewDidFinishLoad中执行下面的js代码,就可以屏蔽alert了
[myWebViewstringByEvaluatingJavaScriptFromString:@"window.alert=null;"];
但上面的方法对于网页onLoad事件里面的alert就不起作用了
解决方法就是给UIWebView添加一个类别:
给工程添加JavaScriptAlert.h
@interfaceUIWebView(JavaScriptAlert) -(void)webView:(UIWebView*)senderrunJavaScriptAlertPanelWithMessage:(NSString*)messageinitiatedByFrame:(WebFrame*)frame; -(BOOL)webView:(UIWebView*)senderrunJavaScriptConfirmPanelWithMessage:(NSString*)messageinitiatedByFrame:(WebFrame*)frame; @end
给工程添加JavaScriptAlert.m文件
@implementationUIWebView(JavaScriptAlert) -(void)webView:(UIWebView*)senderrunJavaScriptAlertPanelWithMessage:(NSString*)messageinitiatedByFrame:(WebFrame*)frame{ /* UIAlertView*dialogue=[[UIAlertViewalloc]initWithTitle:nilmessage:messagedelegate:nilcancelButtonTitle:@"好"otherButtonTitles:nil]; [dialogueshow]; [dialogueautorelease]; */ } -(BOOL)webView:(UIWebView*)senderrunJavaScriptConfirmPanelWithMessage:(NSString*)messageinitiatedByFrame:(WebFrame*)frame{ returnNO; } @end
其实runJavaScriptAlertPanelWithMessage和runJavaScriptConfirmPanelWithMessage是WebUIDelegate的成员函数,详情可以查阅WebUIDelegate的帮助文档。
以上所述是小编给大家介绍的iOS开发中使用UIWebView屏蔽alert警告框,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!