浏览器兼容console对象的简要解决方案分享
浏览器报找不到console对象,那我们就手动构造一个接口完全一致的console对象 置于window中。这里采用了空方法和空对象。如此一来即使在很old的浏览器中,含有console.xxxxx的代码依然不会报错,完美运行。
下面附上修复兼容代码,要置于置于第一句console.xxxx调用之前,否则没有意义。
(function (){
//创建空console对象,避免JS报错
if(!window.console)
window.console = {};
var console = window.console;
var funcs = ['assert', 'clear', 'count', 'debug', 'dir', 'dirxml',
'error', 'exception', 'group', 'groupCollapsed', 'groupEnd',
'info', 'log', 'markTimeline', 'profile', 'profileEnd',
'table', 'time', 'timeEnd', 'timeStamp', 'trace', 'warn'];
for(var i=0,l=funcs.length;i<l;i++) {
var func = funcs[i];
if(!console[func])
console[func] = function(){};
}
if(!console.memory)
console.memory = {};
})();
相关推荐
-
JavaScript中的console.assert()函数介绍
在JavaScript程序的开发和维护过程中,Assert(断言)是一个很好的用于保证程序正确性的特性.在具备调试工具的浏览器上,这一特性可以通过调用console.assert()来实现.比如在以下代码中,console.assert()语句保证cat对象的score变量值长度为3: 复制代码 代码如下: function cat(name, age, score){ this.name = name; this.age = age; this.score = scor
-
用console.table()调试javascript
用CONSOLE.LOG()展示数组 想象下你构造了如下数组 var languages = [ { name: "JavaScript", fileExtension: ".js" }, { name: "TypeScript", fileExtension: ".ts" }, { name: "CoffeeScript", fileExtension: ".coffee" } ];
-
js调试工具console.log()方法查看js代码的执行情况
我之前在调试代码的时候,跟砸js代码执行情况,一般都是通过在代码块中使用alert的方式查看js代码的执行情况,今天也是看到有朋友使用console.log函数打印输出函数,变量,对象,下边就console.log的使用情况进行记录,具体的语法是: console.log("值为:",fn); console.log()能够输出变量,函数,数组,对象等等 <html> <head> <title>this关键字_函数调用</title>
-
js调试工具Console命令详解
一.显示信息的命令 复制代码 代码如下: <!DOCTYPE html> <html> <head> <title>常用console命令</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <script type="te
-
ie9 提示'console' 未定义问题的解决方法
维护的项目在ie9之下运行 没有问题,新增代码之后发现不能完整展示.打开ie的开发者工具之后又可以展示完整.找了很久没找到原因,后来发现打开开发者工具之后在控制台有一条输出语句.关掉开发者工具之后,在状态栏发现提示'console' 未定义,为什么之前的运行没有问题,之后的就不行呢?百思不得其解,后来在代码中增加下面代码: 复制代码 代码如下: window.console = window.console || (function(){ var c = {}; c.log = c.warn =
-
C# Console类的具体用法
Console.Write 表示向控制台直接写入字符串,不进行换行,可继续接着前面的字符写入.Console.WriteLine 表示向控制台写入字符串后换行.Console.Read 表示从控制台读取字符串,不换行.Console.ReadLine 表示从控制台读取字符串后进行换行.Console.ReadKey 获取用户按下的下一个字符或功能键,按下的键显示在控制台窗口中.Console.Beep 通过控制台扬声器播放提示音.Console.Clear 清除控制台缓冲区和相应的控制台窗口的显
-
JavaScript调试技巧之console.log()详解
一.什么是console.log()?除了一些很老版本的浏览器,现今大多数浏览器都自带调试功能:即使没有调试功能,也可以通过安装插件来进行补充.比如,老版本的Firefox没有自带调试工具,在这种情况下可以通过安装Firebug插件来添加调试功能.在具备调试功能的浏览器上,window对象中会注册一个名为console的成员变量,指代调试工具中的控制台.通过调用该console对象的log()函数,可以在控制台中打印信息.比如,以下代码将在控制台中打印"Sample log": 复制代
-
JavaScript中的console.dir()函数介绍
在调试JavaScript程序时,有时需要dump某些对象的详细信息.通过手工编写JavaScript代码可以完成这一工作:针对对象的属性进行循环,将循环到的每一个属性值打印出来:可见,这一过程是比较繁琐的.在具备调试工具的浏览器上,这一工作可以通过console.dir()语句来方便的完成. console.dir()的使用 console.dir()的使用非常简单,直接将需要dump的对象传入该语句即可.比如以下的例子: 复制代码 代码如下: function cat(name, age,
-
javascript 在firebug调试时用console.log的方法
console.log(); 当你使用console.log()函数时,下面的firebug一定要打开,不然这函数在用firefox运行时无效且影响正常程序,如果用IE打开,将会出错. 第一个参数可以是一个包含格式化占位符输出的字符串,例如: console.log("The %s jumped over %d tall buildings", animal, count); 格式化字符串 类型 %s 字符串 %d, 整型 %i (暂不支持数字型) %f 浮点型 (暂不支持数字型) %
-
使用console进行性能测试
对于前端开发人员,在开发过程中经常需要监控某些表达式或变量的值,如果使用用 debugger 会显得过于笨重,最常用的方法是会将值输出到控制台上方便调试. 最常用的语句就是console.log(expression)了. 从早前一道阿里实习生招聘笔试题目入手: function f1() { console.time('time span'); } function f2() { console.timeEnd('time span'); } setTimeout(f1, 100); setT
-
javascript的console.log()用法小结
console.log 原先是 Firefox 的"专利",严格说是安装了 Firebugs 之后的 Firefox 所独有的调试"绝招". 这一招,IE8 学会了,不过用起来比 Firebugs 麻烦,只有在开启调试窗口(F12)的时候,console.log 才能出结果,不然就报错. 今天看到 Opera 也有个叫 dragonfly 的东东,用这东西查看 DOM,已经可以和 Firebug 媲美,然而还是不能用 console.log.于是有人就提供了这样两句
-
JavaScript中的console.trace()函数介绍
调试JavaScript程序时,有时需要打印函数调用的栈信息,这可以通过使用console.trace()来实现.以下面的代码为例: 复制代码 代码如下: function doTask(){ doSubTask(1000,10000); } function doSubTask(countX,countY){ for(var i=0;i<countX;i++){ for(var j=0;j<countY;j++){} } console.t
随机推荐
- python实现将html表格转换成CSV文件的方法
- Javascript 类与静态类的实现
- JavaScript正则表达式下之相关方法
- PHP 字符串正则替换函数preg_replace使用说明
- 浅析javax.servlet.Servlet,ServletContext接口
- iOS UITableView展开缩放动画实例代码
- JavaScript小技巧整理篇(非常全)
- 浅谈window对象的scrollBy()方法
- Asp.net的服务器推技术 (Server Push)
- Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
- Java 实现 web服务器的简单实例
- JS实现双击编辑可修改状态的方法
- PHP模板引擎Smarty内建函数section,sectionelse用法详解
- 饮料瓶底部可怕的秘密(饮料瓶的不安全物质)
- Myeclipse连接mysql数据库心得体会
- 浅谈Transact-SQL
- JQuery控制DIV的选取实现方法
- java开发之读写txt文件操作的实现
- 微信小程序 Audio API详解及实例代码
- flex 控件的重要属性