有没有办法处理 WebView 中的不同 HTML 错误?如:未找到链接的 CSS 文件,出现一些 JS 或 DOM 错误。
webView:didFailLoadWithError:forFrame:
不处理它们(我相信我正确设置了委托,因为我收到了webView:didFinishLoadForFrame:
其他消息)。
有没有办法处理 WebView 中的不同 HTML 错误?如:未找到链接的 CSS 文件,出现一些 JS 或 DOM 错误。
webView:didFailLoadWithError:forFrame:
不处理它们(我相信我正确设置了委托,因为我收到了webView:didFinishLoadForFrame:
其他消息)。
要在找不到诸如 css 文件之类的资源时收到通知,请设置 webview 的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);
}