19

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

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

我在 VirtualBox 中运行 Win8。我的页面是具有适当文档类型的 HTML4 标记。

4

2 回答 2

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 中定义控制台的唯一方法 - 通过禁用标准模式。

于 2013-05-21T16:25:56.817 回答
5

定义它!

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

请参阅:“控制台”是 Internet Explorer 的未定义错误

于 2013-03-21T21:16:40.133 回答