javascript - 是否可以将所有浏览器控制台消息/错误通过管道传输到远程计算机?

标签 javascript android cordova webview inappbrowser

我目前正在尝试调试 Cordova 应用程序的 InAppBrowser(在 Android 上)内发生的 JavaScript 错误。不幸的是,虽然我可以使用 Chrome 的远程调试/检查工具连接到手机上的 Web View ,但控制台输出为空,尽管事实不应该如此。 (无论是否遇到问题,都应该显示其他消息/警告。)

此时,我在尝试获取控制台/错误消息时遇到了困难。似乎什么都不起作用。任何人都可以想出一种方法来告诉 webview/javascript 将所有错误消息转发到远程地址吗? (显然,我永远不会发布具有这种配置的应用程序。)

最佳答案

如果是 JavaScript 错误,您也许可以使用 window.onerror 捕获它。这个想法是捕获错误然后将其发布到日志服务器。

window.onerror = function (msg, url, lineNo, columnNo, error) {
  alert(msg)
  // Log error to external server.
  // axios.post(url, JSON.stringify({msg, url, lineNo, columnNo, error}))
}

const test = undefined

test.error

我在生产环境中执行此操作。这有助于捕获错误并更快地通知我问题。

关于javascript - 是否可以将所有浏览器控制台消息/错误通过管道传输到远程计算机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59618327/

相关文章:

javascript - Angular 2 快速入门 ENOSPC 错误

android - 在sqlite中获取日期差异

javascript - 如何修复 "TypeError: req.next is not a function"错误?

javascript - Laravel Mix 和 Turbolinks

android - 当我在 YouTube 中单击播放 "button"时(在封面下)会发生什么?

android - 为移动平台运行时出错 : Error running cordova. sh 当前工作目录不是基于 Cordova 的项目

android - Cordova 构建失败 - NullPointerException

javascript - PhoneGap 给出 NSURLErrorDomain 错误 -999

javascript - html5 canvas,当用户点击图片时显示文本

android - 手机中的 Google Play 商店应用程序未检测到我在 Play 上发布的应用程序的可用应用程序更新