ios - 在 ios 中从 WebView 捕获 JavaScript 异常

标签 ios objective-c iphone webview

如果 WebView 出现在屏幕中,我需要捕获 WebView 中发生的错误。那就是不绑定(bind)到特定的WebView

最佳答案

不确定你是否已经尝试过这个解决方案,你可以在你的 JS 代码中捕获异常并调用一个本地方法来记录这个信息。在 UIWebView 委托(delegate)回调下方接收到已创建 webView 的 JS 上下文后,您可以将此 native 方法实现注入(inject)到 UIWebview 的 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);
        };
}

希望这对您有所帮助!

关于ios - 在 ios 中从 WebView 捕获 JavaScript 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37321213/

相关文章:

ios - 在文件系统中创建一个随机文件夹并保存下载的文件iOS

ios - Swift - 将图像保存和检索到 tmp 文件夹

ios - 如何重新加载UITableViewCell Objective C?

ios - Xamarin 表单检查 iOS 上的 wifi 连接

ios - IOS 中 url 的 %20 个空格

iphone - 卡在画外音

ios - UITableViewCell 圆圈项目符号点

iphone - 如何颠倒NSMutableData的顺序

iphone - 惯用的短生命周期本地对象类似于 RAII

iphone - 为什么我的 UIScreen 和 UIWindow 大小不匹配?