您的位置:首页 > 移动开发

iOS Webview 实现修改javascript confirm 和 alert

2016-01-26 16:27 281 查看
@interface UIWebView (JavaScriptAlert)

-(void) webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(id)frame;

- (BOOL)webView:(UIWebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(id)frame;

@end

@implementation UIWebView (JavaScriptAlert)

- (void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(id)frame {

UIAlertView* customAlert = [[UIAlertView alloc] initWithTitle:@"助手提示" message:message delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];

[customAlert show];

}

static BOOL diagStat = NO;

static NSInteger bIdx = -1;

- (BOOL)webView:(UIWebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(id)frame {

UIAlertView *confirmDiag = [[UIAlertView alloc] initWithTitle:@"助手提示"

message:message

delegate:self

cancelButtonTitle:@"取消"

otherButtonTitles:@"确定", nil nil];

[confirmDiag show];

bIdx = -1;

while (bIdx==-1) {

//[NSThread sleepForTimeInterval:0.2];

[[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.1f]];

}

if (bIdx == 0){//取消;

diagStat = NO;

}

else if (bIdx == 1) {//确定;

diagStat = YES;

}

return diagStat;

}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{

bIdx = buttonIndex;

}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: