捕捉浏览器中的JS运行时错误,主要通过监听window.onerror来实现。但是对于不同的脚本执行方式以及不同的浏览器,能捕获到的信息会有区别。
window.onerror 讲接收3个参数:
msg:错误描述,比如:a is not definedurl:出错脚本所在的urllineNumber:出错脚本的行数
本文将对不同浏览器和不同的脚本执行方式进行测试,并总结这些区别。
| var Base = function(id){ | |
| this[0] = document.getElementById(id); | |
| return this; | |
| } | |
| var Class = function(id){ | |
| return new Base(id); | |
| } | |
| Base.prototype = Class.prototype = { | |
| html: function(str){ |
| [ | |
| { | |
| name:"HTML5", | |
| uri:"http://www.w3.org/TR/html5/single-page.html", | |
| category:"markup" | |
| }, | |
| { | |
| name:"HTML 5.1", | |
| uri:"http://www.w3.org/TR/html51/single-page.html", | |
| category:"markup" |
| <tab1> | |
| <tab1title>北京居民</tab1title> | |
| <tab1selected>true</tab1selected> | |
| <tab2> | |
| <tab2title>往来港澳通行证</tab2title> | |
| <tab2selected>true</tab2selected> | |
| <tab3> | |
| <tab3title>旅游</tab3title> | |
| <tab3selected>true</tab3selected> | |
| </tab3> |
| html: | |
| <ul> | |
| <li>111</li> | |
| <li>111</li> | |
| <li>111</li> | |
| <li>111</li> | |
| <li>111</li> | |
| </ul> |
| var searchTableArea = $(".search_table_area"); | |
| function fwidth() { | |
| var c_width = searchTableArea.width(), | |
| snumTrs = searchTableArea.find("tr"), | |
| snumTrsLen = searchTableArea.find("tr").length; | |
| for(var i = 0 ;i < snumTrsLen; i++) { | |
| snumTrs.eq(i).find("td:eq(1)").css("width",(c_width -200 + "px")); | |
| } | |
| } |
| /** | |
| * 合并目录下的文件 | |
| */ | |
| var fs = require('fs'); | |
| var path = require('path'); | |
| /** | |
| * 遍历目录里面的所有文件 | |
| * |
捕捉浏览器中的JS运行时错误,主要通过监听window.onerror来实现。但是对于不同的脚本执行方式以及不同的浏览器,能捕获到的信息会有区别。
window.onerror 讲接收3个参数:
msg:错误描述,比如:a is not definedurl:出错脚本所在的urllineNumber:出错脚本的行数本文将对不同浏览器和不同的脚本执行方式进行测试,并总结这些区别。
| (注意:本教程前提为未安装gruntjs其他版本,如果安装请删除!) | |
| 1.安装node(在此不做介绍) | |
| 2.运行命令: npm install -g grunt-cli(-g为全局安装,可在任何目录运行) | |
| 3.进入项目目录,运行命令: npm install grunt --save-dev | |
| 4.查看是否安装成功 grunt -version | |
| 成功显示: grunt-cli v0.1.6 grunt v0.4.0 | |
| 5.新建package.json | |
| 如下: | |
| { | |
| "name": "51", |
| 1、前端逻辑越来越复杂 | |
| 2、多人协同开放 | |
| 3、变量污染 | |
| 4、代码升级 |