iOS开发中使用UIWebView 屏蔽 alert警告框
程序员文章站
2024-02-16 10:01:16
如果是网页内容里面的alert,我们可以等网页加载完毕,也就是在webviewdidfinishload中执行下面的js代码,就可以屏蔽alert了...
如果是网页内容里面的alert,我们可以等网页加载完毕,也就是在webviewdidfinishload中执行下面的js代码,就可以屏蔽alert了
[mywebview stringbyevaluatingjavascriptfromstring:@"window.alert=null;"];
但上面的方法对于网页onload事件里面的alert就不起作用了
解决方法就是给uiwebview添加一个类别:
给工程添加javascriptalert.h
@interface uiwebview (javascriptalert) - (void)webview:(uiwebview *)sender runjavascriptalertpanelwithmessage:(nsstring *)message initiatedbyframe:(webframe *)frame; - (bool)webview:(uiwebview *)sender runjavascriptconfirmpanelwithmessage:(nsstring *)message initiatedbyframe:(webframe *)frame; @end
给工程添加javascriptalert.m文件
@implementation uiwebview (javascriptalert) - (void)webview:(uiwebview *)sender runjavascriptalertpanelwithmessage:(nsstring *)message initiatedbyframe:(webframe *)frame { /* uialertview* dialogue = [[uialertview alloc] initwithtitle:nil message:message delegate:nil cancelbuttontitle:@"好" otherbuttontitles:nil]; [dialogue show]; [dialogue autorelease]; */ } - (bool)webview:(uiwebview *)sender runjavascriptconfirmpanelwithmessage:(nsstring *)message initiatedbyframe:(webframe *)frame{ return no; } @end
其实runjavascriptalertpanelwithmessage和runjavascriptconfirmpanelwithmessage是webuidelegate的成员函数,详情可以查阅webuidelegate的帮助文档。
以上所述是小编给大家介绍的ios开发中使用uiwebview 屏蔽 alert警告框,希望对大家有所帮助