有没有办法在WebView中处理不同的HTML错误?如:找不到链接的CSS文件,发生了一些JS或DOM错误。
webView:didFailLoadWithError:forFrame:
无法处理它们(我相信自收到webView:didFinishLoadForFrame:
和其他消息后我正确设置了委托)。
答案 0 :(得分:0)
要在找不到诸如css文件之类的资源时收到通知,请设置您的网络浏览的WebResourceLoadDelegate:
self.webView.resourceLoadDelegate = self;
并实现此委托方法:
- (void)webView:(WebView *)webView resource:(id)identifier didFailLoadingWithError:(NSError *)error fromDataSource:(WebDataSource *)dataSource {
NSLog(@"Error loading resource : %@", error);
}
该错误将包括webview无法加载的资源的名称和路径。
要查看javascript引发的错误,请设置WebUIDelegate:
self.webView.UIDelegate = self;
并实现此私有API委托方法(注意:您的应用程序可能不应该依赖此方法,因为它来自私有API)
- (void)webView:(WebView *)webView addMessageToConsole:(NSDictionary *)message {
NSLog(@"Javascript error : %@",message);
}