【问题标题】:Programmatically access webpage error details in browsers以编程方式访问浏览器中的网页错误详细信息
【发布时间】:2011-01-06 14:44:30
【问题描述】:

是否有某种方法可以使用 JavaScript 访问网页警告/错误详细信息?

例如,IE 中的错误会显示在左下角,如下所示:

我希望能够使用 JavaScript 访问此错误的详细信息(在 IE 以及其他浏览器中,如果可能的话)。

有什么建议吗?

编辑:我不是在寻找调试器。我想访问错误详细信息/错误控制台的内容。或者,弄清楚如何为 JavaScript 创建等效的全局异常处理程序也会有所帮助

【问题讨论】:

  • 谢谢,但这不是我想要的。我想专门访问 IE 中的错误详细信息或其他浏览器中的错误控制台的内容。或者,弄清楚如何为 JavaScript 创建一个等效的全局异常处理程序也会有所帮助......我会更新我的帖子。

标签: javascript internet-explorer firefox browser google-chrome


【解决方案1】:

您可能想要使用window.onerror 事件。您可以将此事件视为一种全局异常处理程序。 onerror 返回的值决定浏览器是否显示标准错误信息。如果返回 false,浏览器会在 JavaScript 控制台中显示标准错误消息。如果返回 true,则浏览器不会显示标准错误消息。 (Source)

<script type="text/javascript">
    window.onerror=function(msg, url, line){
        alert('An error has occurred' + msg);
        return true;
    }
</script>

<script type="text/javascript">
    // Syntax error
    document.write('hi there'
</script>

您还可以使用 JavaScript 中的传统异常处理来捕获运行时错误。

try
{
    document.write(junkVariable)
}
catch (exception)
{
    document.write(exception)
}

上面的输出将是:

‘junkVariable’ is undefined

编辑: 正如psychotik's 评论所述,window.onerror 事件在 Google Chrome 中不起作用。 (Source)

【讨论】:

  • 有没有办法在全球范围内做到这一点,例如您如何为 Windows 应用程序提供全球 SEH? onerror 事件是这样的吗?
  • 或者更好的是,您可以只使用document.write() exception 对象,因为它的toString() 方法将返回TypeError: 'junkVariable' is undefined,提供有关引发错误类型的更多信息。
  • @Elijah Grey:谢谢,我不知道。将编辑我的答案。
  • 太好了——谢谢! FWIW, onerror 有以下参数:msg, url, linenumber
  • @psychotik:是的,您可以从msg 参数中获取错误消息。
猜你喜欢
  • 1970-01-01
  • 2011-03-28
  • 1970-01-01
  • 2011-03-27
  • 2011-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多