Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
Internet explorer 在IE开发者工具控制台中显示对象_Internet Explorer_Ie Developer Tools - Fatal编程技术网

Internet explorer 在IE开发者工具控制台中显示对象

Internet explorer 在IE开发者工具控制台中显示对象,internet-explorer,ie-developer-tools,Internet Explorer,Ie Developer Tools,我正在用Firefox、Chrome和Internet Explorer调试我的web应用程序。对于后者,我使用开发人员工具来调试脚本 我遇到的问题是,当我在控制台窗口中编写一些表达式时,它应该返回一个对象,我所能看到的只是一个简单的{…},这并没有真正的帮助 是否有可能使其工作方式类似于Firebug或Chrome控制台,实际显示对象内容。Chrome在这方面是最好的,因为您可以像在VisualStudio中一样直接遍历整个对象 无论如何。是否可以使IE Developer Tools控制台显

我正在用Firefox、Chrome和Internet Explorer调试我的web应用程序。对于后者,我使用开发人员工具来调试脚本

我遇到的问题是,当我在控制台窗口中编写一些表达式时,它应该返回一个对象,我所能看到的只是一个简单的
{…}
,这并没有真正的帮助

是否有可能使其工作方式类似于Firebug或Chrome控制台,实际显示对象内容。Chrome在这方面是最好的,因为您可以像在VisualStudio中一样直接遍历整个对象

无论如何。是否可以使IE Developer Tools控制台显示对象属性及其值?

如果是一个选项,您可以这样调试对象:

var obj = window.JSON.parse('{"d":"2010-01-01T12:34:56Z","i":123}');
alert($H(obj).inspect());
除此之外,我知道没有其他方法可以不获得真正有用的
{…}
您必须首先:

  • 设置断点(或启用脚本调试)
  • 触发断点(或遇到错误)
本地选项卡具有触发断点时本地可用的属性和详细信息 将对象名称添加到“监视”选项卡中,可以查看命名对象的属性和详细信息


我们在微软的“朋友”们都有。3:03时,他们提到了探索对象的这种“简单”方式。

在控制台脚本窗口中尝试:

for (var a in object) {
    console.log("object["+a+"]="+object[a])
}
比如说,

for (var a in document.head){
    console.log("document.head["+a+"]="+document.head[a])
}

尝试
console.dir(/*object*/)这将在ie中为您提供更多细节。

我使用内置JSON对象

JSON.stringify(my_object)


添加要观察的对象,您可以从“观察面板”中完全查看和分析该对象。

这里有一种非常离谱的方法。。。通过JSON.stringify运行对象,并显示结果。

什么对我有效,这可能只是他们最近添加的内容,但在您调出控制台日志之后。清除日志,但保持控制台打开,然后刷新页面。当页面载入时,您应该能够浏览对象。我不知道为什么需要这样做,但它似乎起了作用

要查看感兴趣的对象的属性,唯一的方法是在适当的行上设置断点,并使用监视窗口…@goresplater:如果您想检查代码中的某些内容,这很好。但我在控制台中运行的任意代码实际上并不是我脚本的一部分。。。简单到:
window.JSON.parse(“{”d:“2010-01-01T12:34:56Z”,“i:123}”)我得到的结果就是
{…}
,这非常有用。谢谢微软。@Robert Koritnik:谢谢你的接受。您找到使用jQuery调试对象的方法了吗?@goresplater:您的原型解决方案对我不起作用。。。但是你的回答…我不知道还有别的办法。。。是我接受的正确答案。因为可能真的没有任何解决办法。我不知道开发工具为什么不提供这样的基本功能。@Goresplater:至于类似的jQuery功能,我写了一行代码:
$.extend({inspect:function(obj,n){n=n | | |“this”;for(varp in obj){if($.isPlainObject(obj[p]){.inspect(obj[p],n+“+p);return;}.console.log(n++p.toString()”=“+obj[p])})
可在任何浏览器(包括Firebug)中轻松使用,并可由
$调用。inspect(someObject)
@Robert Koritnik出色。因为jQuery不是我喜欢的;-)我在尝试生成这样一个单行程序时失败了。@goresplater:这个长行程序也遍历数组:
$.extend({inspect:function(obj,n){n=n | |“This”;if($.isArray(obj)){for(var x=0;x如果您正在调试页面脚本,这很好……但是如果您在控制台中运行任意代码,并且希望直接调查结果,则无法设置任何断点。不幸的是,Microsoft对于什么是有用的开发工具有一个非常不真实的观点……它只适用于一个级别,但不适用于整个级别对象…你确实在接受的答案中看到了完全遍历对象,对吗?这是个笑话吗?
dir
不受支持。但我可以使用
log
来显示
log:[object object]
而不是IE8中的
{…}
,我承认这更有用。:)但这是真的,我不知道IE9显示了什么,甚至不知道IE10。或者他们对
dir
的支持。我怀疑他们可能更聪明,否则所有这一切只证明了一件事:微软不使用IE调试web应用程序。不,这不是开玩笑。我应该澄清,这仅在IE9及以上版本中受支持。你也可以在旧的浏览器中运行IE9它不会取代旧浏览器中的测试,但使用IE9中提供的更好的开发工具可以更容易地发现bug。在IE9中工作,但它会预先打印所有对象结构,而不是像Chrome那样显示可扩展的树,例如
console.log(object)
。假设这是可用的(对我来说是),这是一个更好的解决方案:-)这并没有显示所有的属性。如果你有一个复杂的对象,它似乎只显示静态属性。也就是说,如果一个属性是一个函数,它似乎被忽略了。我预计在2017年你不会使用IE8,因为IE8只有基本的开发工具。今天的工具已经有了很大的发展,它们完成了预期的任务。