我在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
,这符合问题和答案。你可以重现这个吗?
答案 0 :(得分:6)
下面的答案仍然合法,但显然是由于我现在已经确定的IE漏洞已经修复,所以我安装了更新并希望能够做到最好。谢谢你的帮助,伙计。
我发现在IE8 / 9文档模式下执行console.log
(是的,devtools已打开)会导致undefined
。
为什么他们将对象记录为未定义的超出我的范围,但修复方法是使用console.dir
,这样可以将对象正确记录到控制台。
mOxie
从未undefined
,它只是通过IE的奇怪的控制台实现而被记录下来。
虽然我声称这个问题无法再现,但我仍然可以得到相同的结果,我正在测试它。 http://jsfiddle.net/vxyayxy8/1/ - 这表明日志返回未定义,vs dir返回对象。