浏览器兼容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.log()用法小结
console.log 原先是 Firefox 的"专利",严格说是安装了 Firebugs 之后的 Firefox 所独有的调试"绝招". 这一招,IE8 学会了,不过用起来比 Firebugs 麻烦,只有在开启调试窗口(F12)的时候,console.log 才能出结果,不然就报错. 今天看到 Opera 也有个叫 dragonfly 的东东,用这东西查看 DOM,已经可以和 Firebug 媲美,然而还是不能用 console.log.于是有人就提供了这样两句
-
JavaScript中的console.dir()函数介绍
在调试JavaScript程序时,有时需要dump某些对象的详细信息.通过手工编写JavaScript代码可以完成这一工作:针对对象的属性进行循环,将循环到的每一个属性值打印出来:可见,这一过程是比较繁琐的.在具备调试工具的浏览器上,这一工作可以通过console.dir()语句来方便的完成. console.dir()的使用 console.dir()的使用非常简单,直接将需要dump的对象传入该语句即可.比如以下的例子: 复制代码 代码如下: function cat(name, age,
-
C# Console类的具体用法
Console.Write 表示向控制台直接写入字符串,不进行换行,可继续接着前面的字符写入.Console.WriteLine 表示向控制台写入字符串后换行.Console.Read 表示从控制台读取字符串,不换行.Console.ReadLine 表示从控制台读取字符串后进行换行.Console.ReadKey 获取用户按下的下一个字符或功能键,按下的键显示在控制台窗口中.Console.Beep 通过控制台扬声器播放提示音.Console.Clear 清除控制台缓冲区和相应的控制台窗口的显
-
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
-
js调试工具console.log()方法查看js代码的执行情况
我之前在调试代码的时候,跟砸js代码执行情况,一般都是通过在代码块中使用alert的方式查看js代码的执行情况,今天也是看到有朋友使用console.log函数打印输出函数,变量,对象,下边就console.log的使用情况进行记录,具体的语法是: console.log("值为:",fn); console.log()能够输出变量,函数,数组,对象等等 <html> <head> <title>this关键字_函数调用</title>
-
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
-
使用console进行性能测试
对于前端开发人员,在开发过程中经常需要监控某些表达式或变量的值,如果使用用 debugger 会显得过于笨重,最常用的方法是会将值输出到控制台上方便调试. 最常用的语句就是console.log(expression)了. 从早前一道阿里实习生招聘笔试题目入手: function f1() { console.time('time span'); } function f2() { console.timeEnd('time span'); } setTimeout(f1, 100); setT
-
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
-
ie9 提示'console' 未定义问题的解决方法
维护的项目在ie9之下运行 没有问题,新增代码之后发现不能完整展示.打开ie的开发者工具之后又可以展示完整.找了很久没找到原因,后来发现打开开发者工具之后在控制台有一条输出语句.关掉开发者工具之后,在状态栏发现提示'console' 未定义,为什么之前的运行没有问题,之后的就不行呢?百思不得其解,后来在代码中增加下面代码: 复制代码 代码如下: window.console = window.console || (function(){ var c = {}; c.log = c.warn =
-
JavaScript调试技巧之console.log()详解
一.什么是console.log()?除了一些很老版本的浏览器,现今大多数浏览器都自带调试功能:即使没有调试功能,也可以通过安装插件来进行补充.比如,老版本的Firefox没有自带调试工具,在这种情况下可以通过安装Firebug插件来添加调试功能.在具备调试功能的浏览器上,window对象中会注册一个名为console的成员变量,指代调试工具中的控制台.通过调用该console对象的log()函数,可以在控制台中打印信息.比如,以下代码将在控制台中打印"Sample log": 复制代
-
用console.table()调试javascript
用CONSOLE.LOG()展示数组 想象下你构造了如下数组 var languages = [ { name: "JavaScript", fileExtension: ".js" }, { name: "TypeScript", fileExtension: ".ts" }, { name: "CoffeeScript", fileExtension: ".coffee" } ];
-
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 浮点型 (暂不支持数字型) %
随机推荐
- 在as中监听自定义事件并处理事件的实例代码
- Java 基础之事务详细介绍
- ASP.Net 请求响应流程简述
- JavaScript的parseInt 取整使用
- asp.net TreeView递归循环子节点生成树形菜单实例
- 解析php file_exists无效的解决办法
- 基于Jquery+div+css实现弹出登录窗口(代码超简单)
- java实现mp3合并的方法
- 关于使用存储过程创建分页
- JSP中通过Servlet 将服务器硬盘图片并展示到浏览器
- android popuwindow点击外部窗口不消失的实例
- 活到老学到老学习AJAX跨域(三)
- 常用的DIV+CSS的基本框架结构但不推荐都放一个div里
- 微信JSAPI支付操作需要注意的细节
- 使用C语言的fork()函数在Linux中创建进程的实例讲解
- Oracle基本查询过滤排序示例解析
- JS实现鼠标滑过显示边框的菜单效果
- Android图片占用内存全面分析
- 一个asp快速字符串连接类
- .net core2.0下使用Identity改用dapper存储数据(实例讲解)