我想要记录未处理的JavaScript异常.是否有未捕获异常时触发的事件?我想在浏览器中导致javascript错误之前捕获异常,但我宁愿不在try/catch中运行我的整个应用程序.任何帮助,将不胜感激.谢谢!
更新:tvanfosson指出了恐怖主义的可能性.它不是规范的一部分,仅适用于基于IE或Gecko的浏览器.
OnError支持表 - http://www.quirksmode.org/dom/events/error.html
Mozilla的文档 - https://developer.mozilla.org/en/DOM/window.onerror
WebKit Bug报告 - https://bugs.webkit.org/show_bug.cgi?id=8519
更新:
基于我收到的几个答案,我只想说明我很清楚如何使用模拟框架来模拟HttpContext.我更感兴趣的是,与使用HttpContext周围的包装类相比,模拟HttpContext的优点和缺点是什么.
我正在寻找在ASP.Net MVC中构建可测试控制器时如何处理HttpContext的意见.在阅读之后,似乎有两种思想流派 - 或者构建HttpContextBase并使用模拟框架为您的单元测试生成所需的存根/模拟,或者在您打算使用的HttpContext区域周围构建不可知的包装类.
现在我倾向于建立HttpContextBase.看起来它既是更快的开发过程又更容易维护,因为您不必花时间开发和维护其他包装类.我可以看到包装类如何有益,因为它们抽象出底层实现并将控制器的上下文与请求分开 - 但我不确定这是否值得设置和维护的额外开销.
您认为这两种方法之间的利弊是什么?您何时会选择另一种方法?某些类型的开发是否比其他开发更适合其中一种解决方案?
因为这似乎是一个常见的问题,大多数单元测试和使用ASP.Net MVC的团队必须处理,你或者你将如何处理这个问题?如果您已经解决了这个问题,那么您的解决方案是如何运作的,现在您会采取哪
有谁知道如何在OnBeforeUnload事件中检测到服务器端代码发送了Response.Redirect?我想提示用户阻止他们在某个时间之前离开页面,但是当服务器重定向时我不应该提示用户.
我正在使用广泛使用Response.Redirect的遗留代码,我对改变重定向发生的方式不感兴趣.请不要建议我使用X重定向方法.
它应该有可能基于XMLHttpRequest对象作为响应重定向应发回一个302响应代码来做到这一点.
编辑: Response.Redirect发回200,在主体中有一个重定向代码,然后在ASP.Net代码中执行window.location.href =新页面.有没有办法得到服务器响应,以确定这已发生?
在此先感谢您的帮助!
javascript ×2
ajax ×1
asp.net ×1
asp.net-ajax ×1
asp.net-mvc ×1
events ×1
exception ×1
mocking ×1
tdd ×1
try-catch ×1
unit-testing ×1