Jquey 重拾之路之一_JS错误机制
来源:互联网 发布:河南云和数据 编辑:程序博客网 时间:2024/05/30 23:51
为了屏蔽JS错误,为了应付所谓的领导的突击检查系统进度,可以暂时另令你的页面清净一下。
出现兼容性问题
看一个例子:
- HTML code
- <script>window.onerror=function(){ document.write("encountered JS errors.");}as();</script>
上面代码中执行了一个未定义的JS方法 as()。当执行时,找不到定义,会报JS错误。
这段代码,在IE和Firefox里都有效果,在页面上输出了: encountered JS errors.
在Chrome和Safati中,都在控制台报了JS错误。
Chrome:Uncaught ReferenceError: as is not defined
Safari:ReferenceError: Can't find variable: as
也就是说,在Chrome和Safari中,window.onerror未起作用。
可见,IE 和 Firefox 提供了对 window.onerror 事件的支持,当页面内的 JavaScript 脚本出现错误时,window.onerror 被触发。
标准中的说法
HTML4.01
W3C HTML4.01 规范第 18.2.3 节介绍了 HTML 中的固有事件(Intrinsic events),其中并没有 onerror 事件。
HTML5
在 HTML5 规范草案中描述了 window 对象的事件处理程序,其中有 onerror 事件存在,详细情况请参照草案说明:6.1.6.2 Event handlers on elements。可见,各浏览器还没有统一此实现。
MSDN和MDC
根据 MSDN 及 Mozilla Developer Center 中的描述,当页面中的脚本出错的时候就会触发 window.onerror 事件,这个事件的监听器(event handler)拥有三个参数:msg(错误消息内容)、url(发生错误的页面的 URL)、line(发生错误的代码所在行行号)。
而浏览器是否按照其默认方式显示错误消息,取决于 onerror 事件的返回值。若返回 false,则在浏览器控制台(若有)中显示错误消息。反之则不再显示错误消息。
可见,对window.error的支持差异来自标准自身的不一致性,啥时候HTML5正式发布了,啥时候这个问题也就解决了吧应该。
所以,还是放弃使用window.onerror吧,使用try-catch捕捉错误是比较标准的做法。
- Jquey 重拾之路之一_JS错误机制
- jQuey学习笔记之一
- css重拾之一
- 重学Android 之路之一 APK签名
- Jquey
- jquey
- jQuey
- 韩顺平 javascript教学视频_学习笔记22_js事件驱动机制_js事件分类_js访问css技术
- 重构之错误汇集
- jquey之与dom的转化
- 重拾VB之一,日志篇
- 韩顺平 javascript教学视频_学习笔记23_js事件驱动机制深入理解_js常用事件_js版计算器
- 机房重构之登录错误总结
- Jquery学习之旅之Jquey滑动实现手风琴效果
- 2016重走solr长征之路:replication主从同步机制
- PHP自学之路----错误及异常处理机制、错误日志
- JQuey之学“.each(callback)”与“$.each(array,callback)”
- 重构之一起点
- .NET四层框架
- 经典SQL Server 行列转换
- 企业的信息化建设方向
- 表单FORM与GET方法的区别
- 数据库2008镜像操作笔记
- Jquey 重拾之路之一_JS错误机制
- [C] 如何用C实践Timer
- jquery重拾之路二_优化、执行效率
- JBPM3的对象介绍
- RPT & LR
- 我的源码库:
- Visual C++ 基本原理
- Android
- 添加Eclipse自带的“保存”菜单及按钮