1

有没有办法处理 WebView 中的不同 HTML 错误?如:未找到链接的 CSS 文件,出现一些 JS 或 DOM 错误。

webView:didFailLoadWithError:forFrame:不处理它们(我相信我正确设置了委托,因为我收到了webView:didFinishLoadForFrame:其他消息)。

4

1 回答 1

0

要在找不到诸如 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);
}
于 2013-12-08T22:56:14.603 回答