IE9,10中console对象的bug

首先上一段很简单的代码

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
</head>
<body>
<div id="now"></div>
<script type="text/javascript">
    function changeAndLog(){
        console.log("execute console.log()");
        var div=document.getElementById("now");
        div.innerText=new Date();
        setTimeout(changeAndLog,5000);
    }

    setTimeout(changeAndLog,5000);
</script>
</body>
</html>

当你用ie9或ie10打开这个页面时不会有任何反应。事实上ie9和10是支持console.log()方法的。但是注意meta我使用了ie8的文档方式去渲染的。ie好像傻了,不知道自己会console.log导致后面的代码不能执行。

如果仅仅是这样到也没什么,ie可以说我用ie8的核去渲染的,没console也说得过去。

但是按了一下f12调出控制台,刷一下页面,正常了。其他什么都没变,只是呼出了控制台。这个如何解释。

要自己试试的同学每次测试时请打开一个新标签。

原文地址:https://www.cnblogs.com/xdlysk/p/3365527.html