JavaScript错误的自动反馈

JavaScript错误的自动反馈,javascript,debugging,feedback,Javascript,Debugging,Feedback,如果在客户端运行JavaScript时发生错误(甚至语法错误),是否有办法获得自动反馈 我在想这样的事情: <script src="debugger.js"></script> <script> // some script with an error in it </script> //某些脚本中有错误 每次调试器发现错误时,它都会向服务器发送反馈。编辑:我最初误解了您的问题,这应该可以: 还要注意,这需要在任何可能导致错误的ja

如果在客户端运行JavaScript时发生错误(甚至语法错误),是否有办法获得自动反馈

我在想这样的事情:

<script src="debugger.js"></script>
<script>
    // some script with an error in it
</script>

//某些脚本中有错误

每次调试器发现错误时,它都会向服务器发送反馈。

编辑:我最初误解了您的问题,这应该可以:

还要注意,这需要在任何可能导致错误的javascript之前进行

window.onerror = function(msg,u,l)
{
    txt ="Error: " + msg + "\n";
    txt+="URL: " + u + "\n";
    txt+="Line: " + l + "\n\n";
    //Insert AJAX call that passes data (txt) to server-side script
    return true;
};

至于语法错误,你运气不好。当出现语法错误时,Javascript就会死掉。根本没有办法处理它。

我不确定语法错误,但可以使用window.onerror事件捕获js错误。在谷歌搜索“javascript中记录错误”会给你很多结果

将JavaScript错误记录到ASP.NET: (不幸的是,帖子中的下载链接断了)

将客户端JavaScript错误记录到服务器:

JavaScript错误通知:
window.onerror=MyFunction(消息、url、行)

我们弹出一个窗口,显示错误详细信息、浏览器类型(即navigator.userAgent)等,所有字段都标记为只读,并邀请用户提交

我们有一个复选框“不再显示此内容”,它存储在会话cookie中-因此,如果他们不断出现错误,则可以禁用弹出窗口


尽管我们认为这很“酷”,但我们得到的报告却很少——我不相信这是因为我们几乎没有运行时错误

一种技术是将Ajax用于

每个javascript错误都可能被捕获在window.onerror事件中。我们可以返回true或false,以便选择用户是否会看到正常的javascript错误对话框。
在极不可能发生javascript错误的情况下,此脚本将收集有关错误的信息,并将httprequest发送到将javascript错误记录到数据库的页面。

可能最好每页只发送一个错误报告。如果在重复计时器上出现错误,或者AJAX本身递归调用错误,那么最终可能会用无用的垃圾填充日志

此外,要准备好接收由以下情况引起的无法解决的错误:

  • 安全代理篡改了你的代码
  • 来自被阻止站点的脚本
  • 来自扩展的不重要浏览器chrome错误
  • IE Mobile,世界上最差的浏览器

对我来说,最简单的方法是从SiteApps Marketplace安装此应用程序:

一旦你安装了平台标签,你可以安装很多应用程序,上面的一个对我非常有用。我在我开发的14个网站中使用它,我可以跟踪谷歌分析中的javascript错误

希望这能有所帮助


Leandro

我在找那一页+1感谢您链接到此有用功能。我试试看,我也想过。但似乎只有Firefox能做到这一点。当我试图提醒消息时,Safari和Opera都保持沉默。好吧,也许只是提醒不起作用。打印错误消息不起作用。我想就是这样。谢谢,在FF工作。要使其在IE中工作,您必须在internet选项的“高级”选项卡中禁用脚本调试。我没有在Chrome或Opera中使用它。你也可以使用try/catch块并在catch块中报告错误。我刚刚发布了代码,通过向服务器发送错误信息来帮助记录JavaScript错误-