zoukankan      html  css  js  c++  java
  • 浏览器兼容console对象的简要解决方案

    不同浏览器或者版本之间对于console对象的支持不尽相同,而console方法在开发调试过程中都是不错的工具。难道要在上线前把所有console.xxxx去掉以保证某些浏览器不报错么。其实可以变通解决。 

    浏览器报找不到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 = {};  
      
    })();  
  • 相关阅读:
    Redis学习小结
    抽屉模型
    用户提交数据的验证
    jsonp原理与实验
    文件上传
    项目
    CBV
    C++算法 线段树
    写一些奇怪的东西找到的奇怪的错误
    php安装过程出现的一些错误问题:
  • 原文地址:https://www.cnblogs.com/DajiangDev/p/3384557.html
Copyright © 2011-2022 走看看