在IE Developer Tools控制台中显示对象

Rob*_*nik 25 internet-explorer ie-developer-tools

我正在Firefox,Chrome和Internet Explorer中调试我的Web应用程序.使用后者我使用开发人员工具来调试我的脚本.

我遇到的问题是,当我在控制台窗口中编写一些表达式并且它应该返回一个对象时,我只能看到一个简单的{...}实际上并没有用.

是否可以使其与实际显示对象内容的Firebug或Chrome控制台类似.Chrome在这方面是最好的,因为您可以像在Visual Studio中一样直接遍历整个对象.

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

Dav*_*ith 20

我使用内置的JSON对象.

JSON.stringify(my_object)
Run Code Online (Sandbox Code Playgroud)


小智 8

要在IE中探索对象的属性和值,您必须首先:

  • 设置断点(或启用脚本调试)
  • 触发断点(或遇到错误)

当地人标签具有断点被触发添加对象名称的属性和局部细节可在时间手表标签可以查看指定对象的属性和细节

我们在微软的"朋友"有一个视频描述了IE的开发者工具.3点03分是他们提到探索对象的"简单"方式.

  • 如果您正在调试页面脚本,这很好......但如果您在控制台中运行任意代码并且想直接调查结果,则无法设置任何断点.不幸的是,微软对于有用的开发人员工具应该是一个非常不真实的视角...... (2认同)

Dav*_*rse 6

试试console.dir(/*object*/);这应该给你一些更详细的信息.

  • 不,不是开玩笑.我应该澄清,仅在ie9及以上版本中支持.您还可以在较旧的浏览器模式下运行ie9,以获得您可能遇到的问题的印象.它不会取代旧版浏览器中的测试,但使用IE9中提供的更好的开发人员工具可以更容易地找到错误. (4认同)
  • 你在开玩笑吗?`dir`不受支持.但我可以使用`log`在IE8中显示`LOG:[object Object]`而不是`{...}`,这更有用*我承认.:)但这是真的我不知道IE9显示甚至是IE10.或者他们对'dir`的支持.我怀疑他们可能更聪明*否则这一切只证明了一件事:**MS不使用IE来调试Web应用程序**. (2认同)

Lin*_*een 4

如果可以选择Prototype API ,则可以像这样调试对象:

var obj = window.JSON.parse('{"d":"2010-01-01T12:34:56Z","i":123}');
alert($H(obj).inspect());
Run Code Online (Sandbox Code Playgroud)

除此之外,我知道没有其他方法可以得到真正的帮助 {...}

  • @goreSplatter:对于类似的 jQuery 功能,我写了这一小行: `$.extend({inspect:function(obj,n){n=n||"this";for(var p in obj){if ($.isPlainObject(obj[p])){$.inspect(obj[p],n+"."+p);return;}console.log(n+"."+p.toString()+" = " +obj[p]);}}});` 可以轻松地在任何浏览器(包括 Firebug)中使用,并且可以通过 `$.inspect(someObject)` 调用 (3认同)
  • @goreSplatter:这个更长的线也遍历数组: `$.extend({inspect:function(obj,n){n=n||"this";if($.isArray(obj)){for( var x=0;x<obj.length;x++){$.inspect(obj[x],n+"["+x+"]");}return;}if($.isPlainObject(obj)){for( var p in obj){$.inspect(obj[p],n+"."+p);}return;}console.log(n+" = "+obj.toString());}});` 使用于您自己的风险。;) (2认同)