IE10 console.log不能正常工作

时间:2013-02-04 20:51:14

标签: javascript internet-explorer

我刚开始在Win8上玩IE10并遇到问题。当“文档模式”设置为“标准”时,开发人员工具控制台似乎不起作用。我已经玩过浏览器模式和文档模式,并且当设置为IE9标准时控制台工作,但是将其设置为简单的“标准”,IE10的默认设置,控制台是未定义的。有什么想法吗?

这不重复。测试时,开发人员控制台已打开。将Doc模式切换为IE9标准并重新加载按预期显示控制台输出。切换回IE10标准不显示控制台输出。调试显示控制台未定义,因此将console.log设置为空函数以处理未定义。我很好奇为什么在IE10标准模式下控制台是未定义的。

我在VirtualBox中运行Win8。我的页面是带有适当doctype的HTML4标记。

2 个答案:

答案 0 :(得分:7)

console.log();未定义的原因是因为标准模式的工作原理。 IE 8有一个兼容模式,从字面上把它变成IE 7,删除了对添加到IE 8的功能的所有理解。控制台是在IE 10中添加的,所以通过在标准模式下运行它,它会有意义抛出错误。

<head>
    <title>Force IE 10</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
</head>

此处的元标记将强制IE在您安装的最新版本中运行(禁用标准和兼容模式)。这是在IE 10中以标准模式定义控制台的唯一方法 - 禁用标准模式。

答案 1 :(得分:5)

定义它!

if (typeof console == "undefined") {
    this.console = {log: function() {}};
}

请参阅:'console' is undefined error for Internet Explorer