【发布时间】:2016-09-16 05:09:54
【问题描述】:
如果屏幕中出现WebView,我需要捕捉WebView 中发生的错误。那不是绑定到特定的WebView。
【问题讨论】:
-
UIWebView?WKWebView?not to bind to a specific WebView??
标签: ios objective-c iphone webview
如果屏幕中出现WebView,我需要捕捉WebView 中发生的错误。那不是绑定到特定的WebView。
【问题讨论】:
UIWebView? WKWebView? not to bind to a specific WebView??
标签: ios objective-c iphone webview
不确定您是否已经尝试过此解决方案,您可以在 JS 代码中捕获异常并调用本机方法来记录此信息。您可以在收到下面的 UIWebView 委托回调后,将此本机方法实现注入到 UIWebview 的 JS 上下文中,该回调已创建 webView 的 JS 上下文。
- (void)webView:(id)webView didCreateJavaScriptContext:(JSContext *)context forFrame:(id)frame {
//this injects the MyNativeLog in your UIWebView JS context and you can call this function in your JS code.
context[@"MyNativeLog"] = ^(NSString *string){
NSLog(@"%@", string);
};
}
希望这会有所帮助!
【讨论】:
以下内容可能对您有所帮助,请检查以下已经存在的链接
How can my iPhone Objective-C code get notified of Javascript errors in a UIWebView?
您可以将 UIWebView 控件挂钩到隐藏的 WebKit 框架并获取所有异常、执行的函数等。
【讨论】:
你需要使用WebFrameLoadDelegate Protocol的webView:didClearWindowObject:forFrame:方法。
在那里你可以捕捉到任何类型的 javascript 异常发生。这不绑定到特定的 WebView。
【讨论】: