我有一个我需要在IE8中检查的对象。
我尝试了开发人员工具和console.log
,他们的Firebug等价物。
但是,当我将对象输出到日志时:
console.log("Element: ", element);
console.log(element);
我只收到字符串
LOG: Element: [object Object]
而不是可点击的,可检查的转储。
是否可以将对象转储到Log并检查其成员,例如Firebug?
我不能使用自制的dump()函数,因为我要检查的元素太大,浏览器会崩溃我。
答案 0 :(得分:101)
这是我发现有用的一种技术:
答案 1 :(得分:92)
有点偏离主题(因为它不适用于DOM元素)但我发现使用JSON.stringify(object)获取对象的JSON字符串非常方便可读。
答案 2 :(得分:13)
console.dir(myObj)
获取IE中控制台中打印的所有细节。谢谢克里斯!
答案 3 :(得分:5)
如果你正在处理令人讨厌的代码并且console.log不可用,请在控制台中尝试:
out = []; for (i in your_object) { out.push(i) } out.join("\n")
答案 4 :(得分:3)
一个建议是使用Firebug-Lite: 它包装了控制台obj,你可以像在大多数firebug控制台中一样在IE中看到结果。 希望这有帮助。
答案 5 :(得分:1)
在您的页面中添加此标记:
<script type="text/javascript" src="https://getfirebug.com/firebug-lite-debug.js"></script>
&#13;
事情会奏效。
它在我的系统上工作。
注意:请尝试此解决方案。
答案 6 :(得分:1)
答案 7 :(得分:0)
我知道这是一个非常古老的问题,但我刚才正在寻找答案。如果不是使用IE控制台(IMO不是很好)的绝对要求,那么您可以考虑使用Firebug Lite(http://getfirebug.com/firebuglite)。它不是一个完美的解决方案,您可能不希望将该脚本推送到您的生产环境中,并且它不像Firebug那样功能齐全,但是当您需要使用低端浏览器时,它会非常好用。 IE。
答案 8 :(得分:0)
有点粗巧,但它适用于DOM对象:
console.log( testNode.outerHTML.replace(testNode.innerHTML,"") );
答案 9 :(得分:0)
将其转储到现有的HMTL元素
我注意到IE11在1027个字符后剥离控制台线: - / 当我有一个大型对象要转储(12,000个字符)时,我将它转储到现有的DIV-oder TextArea-Element中,我可以从中复制内容。
var str = JSON.stringify(myObject);
$('#existing-element').text(str); // jQuery or
document.querySelector("#existing-element").innerHTML = str; // native JavaScript
答案 10 :(得分:-1)
console.log(element.toString())可能是你的朋友......