ie9 在打开控制台可以正常加载页面,否则加载失败

最近在调试个 bug,不开启控制台的话死活页面加载不出来。开启了控制台后页面就显示正常。
经过一顿搜索,得知在 ie9 下,如果不开启控制台的话,默认是没有 console 对象的,开启后则有。

汇总网上的解决方案,改造如下。新增 console.js,内容如下:

try{
    console.log(11)
}catch (e){
    ;(function(g) {
        'use strict';
        var _console = g.console || {};
        var methods = ['assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'exception', 'error', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log', 'profile', 'profileEnd', 'table', 'time', 'timeEnd', 'timeStamp', 'trace', 'warn'];

        var console = {version: '0.1.0'};
        var key;
        for(var i = 0, len = methods.length; i < len; i++) {
            key = methods[i];
            console[key] = function (key) {
                return function () {
                    if (typeof _console[key] === 'undefined') {
                        return 0;
                    }

                    Function.prototype.apply.call(_console[key], _console, arguments);
                };
            }(key);
        }

        g.console = console;
    }(window));
}

在具体页面引用的时候使用只有 ie9 才能识别的脚本

<!--[if IE 9]>
    <script src="console.js" type="text/javascript"></script>
<![endif]-->

参考方案

https://yanhaijing.com/javascript/2014/11/03/use-console.js/

文章出自 http://lsof.fun

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容