ie兼容问题,按F12刷新页面才正常显示

问题描述:

项目要求兼容 ie9,开发的时候一直使用win10自带的ie11中的控制台降版本到ie9去开发,开发的时候一直显示都没问题。今天测试的时候,测试小姐姐用真正的ie9去打开发现如下问题:

(1)打开页面后部分功能无法实现;

(2)按F12打开控制台后,再刷新页面就能恢复正常;

(3)使用其他的浏览器比如chrome后就没有问题;

原因分析:

IE8 / 9 上在不打开调试工具的情况下window 上是没有 console 这个属性的!在打开调试工具的时候会给 window 再挂载上 console 属性,所以需要兼容 console 。

解决方法:使用兼容写法

(function() {
    var method;
    var noop = function () {};
    var methods = [
        'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
        'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
        'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
        'timeline', 'timelineEnd', 'timeStamp', 'trace', 'warn'
    ];
    var length = methods.length;
    var console = (window.console = window.console || {});

    while (length--) {
        method = methods[length];

        // Only stub undefined methods.
        if (!console[method]) {
            console[method] = noop;
        }
    }
}());

// 注:经验证在IE7/8/9下有效。

虽然IE11能在控制台中进行降版本模拟低版本的IE,但这种模拟并不完整,总有一些意想不到的小问题出现。如果需要开发兼容低版本浏览器的代码,最好使用真正的低版本IE。(可以在虚拟机上安装win7系统,win7自带ie8)

附参考链接:

https://www.jianshu.com/p/de79d7d31a96

https://blog.csdn.net/yan263364/article/details/77532622

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值