有一件事我注意到我的javascript / jquery web架构似乎很容易让异常被吞噬并被忽视。我认为如果你的网络层有javascript异常,那么真正好的是,有关它的信息是通过AJAX请求发送回你的服务器的,所以至少你可以记录它的相关信息。
我想知道必须有一些框架功能已经做到这一点,因为我认为这将是一个非常有用的功能。任何人都知道会做这个的任何框架,功能或库吗?
由于
答案 0 :(得分:4)
可能有,但实现起来并不困难。只需将window
事件的事件处理程序挂钩到error
,然后在那里发出AJAX请求。
将按顺序传递给事件处理程序的参数是:错误消息作为字符串,引发错误的URL,字符串,引发错误的行号,最后是事件对象。
答案 1 :(得分:2)
构建自己的解决方案时,您必须考虑很多事情。 例如,您会看到插件中JavaScript错误产生的大量噪音,占所有错误记录的10-20%。 智能地分组错误是一个非常难的问题,因为您获得的不同浏览器和版本的错误消息非常不同。 如果您在mousemove事件中有错误,也不希望在用户身上记录1,000个错误。 还有很多其他的东西需要考虑。
我们构建了一个类似于您所要求的SaaS解决方案Muscula。我们目前处于私人测试阶段,但努力发布。我们已经监控了超过1亿次JavaScript错误的综合浏览量,我们每周记录超过100万次JavaScript错误。并且我提到了上面提到的问题,我们还解决了在缩小的JavaScript中显示错误的问题,如同漂亮的打印,与Goggle Analytics的集成等等。
您可以像Google Analytics一样安装Muscula,只需将脚本复制到您的页面,然后您就会记录JavaScript错误。
答案 2 :(得分:2)
你可以制作自己的,但它可能有点棘手,因为你可能会遇到错误,发送许多ajax请求可能会加剧问题。错误记录必须去抖,并且上帝禁止您的错误跟踪代码产生并在一些不起眼的浏览器上出错。有一些SaaS产品的免费计划值得关注:
我会尝试这些,然后如果他们不能满足您的需求,那么您可以自己动手。