mOxie未定义,但定义非常明确

时间:2015-02-02 17:25:11

标签: javascript internet-explorer console.log

我在IE9 / 8上拔头发;我正在尝试使用mOxie,但它显示为undefined,即使它已经非常明确地定义了。

当我从另一个文件中将mOxie记录到控制台时,它会在Chrome / IE10 +中完美地记录它,但在IE9 / 8日志undefined中触发相同的脚本。

但是,在IE9 / 8中,当我直接在控制台中输入“mOxie”时,它会正确记录对象。

http://jsfiddle.net/vxyayxy8/ - 在IE10模式下运行,你会看到它加载了一个对象。在IE9模式下运行,您将看到它记录undefined

为什么在IE9 / 8中,从文件中记录(在mOxie之后包含),它是undefined,但是在直接使用控制台时在IE9 / 8中定义了?

请记住,它是在Chrome和IE10 +中定义的。

为了测试我的答案理论,在IE11中,但在IE9文档模式下,console.log({}) - 我得到undefined,这符合问题和答案。你可以重现这个吗?

1 个答案:

答案 0 :(得分:6)

下面的答案仍然合法,但显然是由于我现在已经确定的IE漏洞已经修复,所以我安装了更新并希望能够做到最好。谢谢你的帮助,伙计。

我发现在IE8 / 9文档模式下执行console.log(是的,devtools已打开)会导致undefined

为什么他们将对象记录为未定义的超出我的范围,但修复方法是使用console.dir,这样可以将对象正确记录到控制台。

mOxie从未undefined,它只是通过IE的奇怪的控制台实现而被记录下来。

虽然我声称这个问题无法再现,但我仍然可以得到相同的结果,我正在测试它。 http://jsfiddle.net/vxyayxy8/1/ - 这表明日志返回未定义,vs dir返回对象。

asdf