MAD*_*Map 93 javascript error-handling logging
我运行一个ASP.NET站点,我有问题,只需手动测试就可以找到一些JavaScript错误.
是否有可能捕获客户端上的所有JavaScript错误并将其记录在服务器上,即在EventLog中(通过Webservice或类似的东西)?
Jon*_*nan 67
您可以尝试为onerror事件设置自己的处理程序,并使用XMLHttpRequest告诉服务器出了什么问题,但是因为它不是任何规范的一部分,所以支持有点不稳定.
以下是使用XMLHttpRequest记录JavaScript错误的示例:
window.onerror = function(msg, url, line)
{
var req = new XMLHttpRequest();
var params = "msg=" + encodeURIComponent(msg) + '&url=' + encodeURIComponent(url) + "&line=" + line;
req.open("POST", "/scripts/logerror.php");
req.send(params);
};
Run Code Online (Sandbox Code Playgroud)
Zty*_*tyx 26
简短回答:是的,有可能.
更长的回答:人们已经写过关于如何(至少部分地)通过编写自己的代码来解决这个问题的文章.但请注意,有些服务似乎确保了JS代码在许多浏览器中都能正常工作.我发现了以下内容:
我不能说任何这些服务,因为我还没有尝试过.
Kar*_*arl 12
我刚刚在工作中的项目上实现了javascript错误的服务器端错误记录.遗留代码和使用jQuery的新代码混合在一起.
我使用window.onerrorjQuery事件处理程序和onready函数的组合和包含错误处理函数(请参阅:JavaScript错误跟踪:为什么window.onerror不够).
window.onerror:捕获IE中的所有错误(以及Firefox中的大多数错误),但在Safari和Opera中无效.一旦我发现错误,我会添加一些额外的属性(网址,浏览器等),然后使用ajax调用将其发回服务器.
在服务器上,我有一个小页面,它只接受发布的参数并将它们输出到我们的普通服务器日志框架.
我想为此开源代码(作为jQuery插件).如果有人有兴趣让我知道,那将有助于说服老板们!
| 归档时间: |
|
| 查看次数: |
41436 次 |
| 最近记录: |