捕捉浏览器中的JS运行时错误,主要通过监听window.onerror来实现。但是对于不同的脚本执行方式以及不同的浏览器,能捕获到的信息会有区别。
window.onerror 讲接收3个参数:
msg:错误描述,比如:a is not definedurl:出错脚本所在的urllineNumber:出错脚本的行数
本文将对不同浏览器和不同的脚本执行方式进行测试,并总结这些区别。
| //试试用手机访问,可以看出结果哦 | |
| var ua = navigator.userAgent; | |
| isAndroid = /Android/i.test(ua); | |
| isBlackBerry = /BlackBerry/i.test(ua); | |
| isWindowPhone = /IEMobile/i.test(ua); | |
| isIOS = /iPhone|iPad|iPod/i.test(ua); | |
| isMobile = isAndroid || isBlackBerry || isWindowPhone || isIOS; | |
| if(isAndroid) isMobile = 'android'; | |
| if(isBlackBerry) isMobile = 'BlackBerry'; |
| #!/usr/bin/env node | |
| var input = process.argv[2]; | |
| var keyword = process.argv[3]; | |
| var output = process.argv[4]; | |
| var fs = require('fs'); | |
| var rs = fs.createReadStream(input, { | |
| flags: 'r', |
| <!doctype html> | |
| <html> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta content="yes" name="apple-mobile-web-app-capable"> | |
| <title>iOS Web App</title> | |
| <!-- iPhone --> |
捕捉浏览器中的JS运行时错误,主要通过监听window.onerror来实现。但是对于不同的脚本执行方式以及不同的浏览器,能捕获到的信息会有区别。
window.onerror 讲接收3个参数:
msg:错误描述,比如:a is not definedurl:出错脚本所在的urllineNumber:出错脚本的行数本文将对不同浏览器和不同的脚本执行方式进行测试,并总结这些区别。
| // 大家写在评论中吧,代码高亮可以这样写: | |
| // ```js | |
| // your code | |
| // ``` | |
| // update: Fri Aug 31 08:39:21 | |
| // copyright: https://gist.github.com/3549352 | |
| // 加个性能测试:http://jsperf.com/get-dom-s-first-element | |
| var util = {}; |