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

iOS UIWebview 分类 实现修改 javascript 两种提示框

2016-06-29 18:29 411 查看
#import <UIKit/UIKit.h>

@interface UIWebView (JavaScriptAlert)

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

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

@end

#import "UIWebView.h"

@implementation UIWebView (JavaScriptAlert)

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

    

    

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

    

    [customAlert show];

    

    //[customAlert autorelease];

}

static BOOL diagStat = NO;

static NSInteger bIdx = -1;

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

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

                                                          message:message

                                                         delegate:self

                                                cancelButtonTitle:@"取消"

                                                otherButtonTitles:@"确定",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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: