<script language="javascript">
alert("Hell! UIWebView!");
</script>
我可以在我的 UIWebView 中看到警告消息,但是我可以处理这种情况吗?
更新:
我正在将网页加载到我的 UIWebView 中:
- (void)login {
NSString *requestText = [[NSString alloc] initWithFormat: @"%@?user=%@&password=%@", DEFAULT_URL, user.name, user.password]; // YES, I'm using GET request to send password :)
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:requestText]];
[webView loadRequest:request];
}
目标页面包含一个JS。如果用户名或密码不正确,此 JS 显示警报。 我无权访问其来源。 我想在我的 UIWebViewDelegate 中处理它。
最佳答案
这个问题更好的解决办法是为方法创建一个UIWebView的Category
webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:
这样您就可以按照您喜欢的任何方式处理警报事件。我这样做是因为我不喜欢 UIWebView 将源文件名放在 UIAlertView 标题中时的默认行为。类别看起来像这样,
@interface UIWebView (JavaScriptAlert)
- (void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;
@end
@implementation UIWebView (JavaScriptAlert)
- (void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame {
UIAlertView* dialogue = [[UIAlertView alloc] initWithTitle:nil message:message delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles:nil];
[dialogue show];
[dialogue autorelease];
}
@end
关于javascript - 我可以在 UIWebViewDelegate 中处理警报吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21070399/