在我的应用程序中,有一个显示网页的UIWebView。它有时会在UIAlertView中显示非常烦人的错误。我想截取这个并以更复杂的方式显示错误。
有没有办法可以拦截函数中的错误消息,并自己决定我想用它做什么?
提前致谢!
答案 0 :(得分:2)
这似乎是这样做的:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
JSContext *ctx = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
ctx[@"window"][@"alert"] = ^(JSValue *message) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"JavaScript Alert" message:[message toString] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
};
}
注意:仅在iOS 8上测试。