浏览器兼容console对象的简要解决方案分享


Posted in Javascript onOctober 24, 2013

浏览器报找不到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 相关文章推荐
javascrpt绑定事件之匿名函数无法解除绑定问题
Dec 06 Javascript
浅谈Javascript如何实现匀速运动
Dec 19 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
Aug 18 Javascript
js中flexible.js实现淘宝弹性布局方案
Jun 23 Javascript
javascript自动恢复文本框点击清除后的默认文本
Jan 12 Javascript
javascript实现倒计时跳转页面
Jan 17 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
Jul 22 Javascript
jQuery实现优雅的弹窗效果(6)
Feb 08 Javascript
AngularJS基于MVC的复杂操作实例讲解
Dec 31 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
Mar 10 Javascript
JavaScript变速动画函数封装添加任意多个属性
Apr 03 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
Dec 04 Vue.js
js设置cookie过期及清除浏览器对应名称的cookie
Oct 24 #Javascript
javascript中的变量作用域以及变量提升详细介绍
Oct 24 #Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
Oct 24 #Javascript
jQuery设置div一直在页面顶部显示的方法
Oct 24 #Javascript
JS+CSS设置img在DIV中只显示Img垂直居中的部分
Oct 24 #Javascript
JS 获取滚动条高度示例代码
Oct 24 #Javascript
通过javascript把图片转化为字符画
Oct 24 #Javascript
You might like
php 生成随机验证码图片代码
2010/02/08 PHP
PHP图片裁剪函数(保持图像不变形)
2014/05/04 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
PHP对称加密函数实现数据的加密解密
2016/10/27 PHP
jquery easyui的tabs使用时的问题
2010/03/23 Javascript
asp.net+js 实现无刷新上传解析csv文件的代码
2010/05/17 Javascript
关于jquery动态增减控件的一些想法和小插件
2010/08/01 Javascript
jQuery插件实现屏蔽单个元素使用户无法点击
2013/04/12 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
JavaScript基础篇(6)之函数表达式闭包
2015/12/11 Javascript
对layui中表单元素的使用详解
2018/08/15 Javascript
vue-cli3.X快速创建项目的方法步骤
2019/11/14 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
[00:36]我的中国心——Serenity vs Fnatic
2018/08/21 DOTA
Python 面向对象 成员的访问约束
2008/12/23 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
Django项目中实现使用qq第三方登录功能
2019/08/13 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
python源文件的字符编码知识点详解
2021/03/04 Python
详解HTML5常用的语义化标签
2019/09/27 HTML / CSS
美国高街时尚品牌:OASAP
2016/07/24 全球购物
物流专业大学生的自我鉴定
2013/11/13 职场文书
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
个人简历中的自我评价怎么写
2014/01/26 职场文书
学校课外活动总结
2014/05/08 职场文书
2014年党课学习材料
2014/05/11 职场文书
环保倡议书范文
2014/05/12 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
Golang 如何实现函数的任意类型传参
2021/04/29 Golang
MySQL中int (10) 和 int (11) 的区别
2022/01/22 MySQL
SQL注入篇学习之盲注/宽字节注入
2022/03/03 MySQL