iOS webView与APP的交互

来源:互联网 发布:美国田园下的罪恶知乎 编辑:程序博客网 时间:2024/05/22 16:59

文章链接:http://www.cocoachina.com/bbs/read.php?tid=240428


我用UIWebView加载了一个网页,这个网页中有按钮,点击后会弹出对话框


JavaScript中有三种形式的弹出框,alert,confirm,prompt;我只改掉了其中两种,最后那个prompt类型的捕捉不到,实在没找到资料,,求助各位大神帮忙!谢谢!!!


alert和confirm修改的代码如下、、希望对解决我的问题有所帮助!



@interface UIWebView (JavaScriptAlert) <UIAlertViewDelegate>



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


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



@end




@implementation UIWebView (JavaScriptAlert)




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


    


    UIAlertView* customAlert = [[UIAlertView allocinitWithTitle:@"Alert Title" message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];


    


    [customAlert show];


    [customAlert autorelease];


    


}





static BOOL diagStat = NO;



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


{


    UIAlertView *confirmDiag = [[UIAlertView allocinitWithTitle:@"Confirm Title" message:message delegate:self cancelButtonTitle:NSLocalizedString(@"Cancel"@"Cancel"otherButtonTitles:NSLocalizedString(@"OK"@"OK"), nil];



    [confirmDiag show];


    while (confirmDiag.hidden == NO && confirmDiag.superview != nil)


        


        [[NSRunLoop mainRunLooprunUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01f]];


        


    [confirmDiag release];


    return diagStat;


    


}



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


{


    if (buttonIndex == 0)


    {


        diagStat = NO;


    } 


    else if (buttonIndex == 1


    {


        diagStat = YES;


    }    


}



@end



0 0
原创粉丝点击