Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE10 console.log不工作_Javascript_Internet Explorer - Fatal编程技术网

Javascript IE10 console.log不工作

Javascript IE10 console.log不工作,javascript,internet-explorer,Javascript,Internet Explorer,我刚开始在Win8上玩IE10,就遇到了问题。当文档模式设置为标准时,开发人员工具控制台似乎无法工作。我已经使用了浏览器模式和文档模式,当设置为IE9标准时,console可以工作,但将其设置为简单的“标准”(IE10的默认设置),console是未定义的。有什么想法吗 这不是复制品。测试时,开发人员控制台是打开的。将文档模式切换到IE9标准并重新加载时,会按预期显示控制台输出。切换回IE10标准不会显示控制台输出。调试显示console未定义,因此将console.log设置为空函数以处理未定

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

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

我正在虚拟机中运行Win8。我的页面是带有适当doctype的HTML4标记。

定义它

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

请参阅:

原因
console.log()未定义是因为标准模式就是这样工作的。IE8有一个兼容模式,可以将其转换为IE7,消除了对IE8新增功能的所有理解。该控制台是在IE10中添加的,因此通过在标准模式下运行它,它抛出错误是有意义的

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

强制IE 10

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

加载页面时,必须打开开发人员工具。请参见页面加载时开发人员工具处于打开状态。是。若我将文档模式切换到IE9标准,那个么控制台并没有被定义。切换回标准,控制台是undefined@Spudley这将是标准的IE行为…我看到了同样的问题。IE10标准=不起作用。IE9标准模式下的IE10=工作听起来OP知道这种解决方法,但奇怪的是为什么
console.log
在某些模式下不能正常工作。这已经完成了。注意“调试显示console未定义,因此将console.log设置为空函数以处理未定义的内容。”Microsoft解释说IE=edge“在功能上等同于使用HTML5 doctype”,这就足够了。看,在哪个星球上“有意义”?有意义的是,微软生产了一款可怕的浏览器,它从不遵守实际的“标准”。这是有意义的,因为IE8是如何处理错误的。它只是简单地破坏了javascript的其余部分。将
console.log()
放在jQuery文件的开头会导致jQuery无法加载到页面上。让IE10在标准模式下优雅地退出错误将导致其功能不同于IE8。另外,对tanguy_k来说,
会导致IE 9和更低版本默认为
loose.dtd
(可能是
transitional.dtd
,我忘记了),并可能导致页面的CSS中断。此外,请确保您没有提取缓存内容。清除缓存,然后打开“缓存”菜单下的“开发工具”设置“始终从服务器刷新”。这是我让它为我工作的唯一方法。