Firefox中的console.dir(窗口)?

时间:2011-03-23 22:02:58

标签: javascript firefox google-chrome browser firebug

Chrome中的

console.dir(window)

http://ecmazing.com/unsorted/console-dir-window-in-chrome.png

Firebug中的

console.dir(window)(在Firefox 7中):

http://ecmazing.com/unsorted/console-dir-window-in-firebug.png

为什么Firebug只列出window对象的几个属性?如何在Firefox中列出所有全局属性?

此外,__proto__属性在哪里,以便我可以关注原型链?

3 个答案:

答案 0 :(得分:2)

似乎Firebug正在过滤掉不满足hasOwnProperty的属性。例如,当使用Firefox 4 / Firebug 1.7投资DOM时,navigatoraddHandler会显示,但confirm则不会。观察:

>>> window.hasOwnProperty('confirm')
false
>>> window.hasOwnProperty('addHandler')
true
>>> window.hasOwnProperty('navigator')
true

但是,Date未显示,并且:

>>> window.hasOwnProperty('Date')
true

所以它似乎也在过滤掉全局构造函数,这似乎是由comment 9 this bug确认的。我不知道用什么函数来过滤这些构造函数。

无论哪种方式,我都没有办法解决这个问题。如果我这样做,我会告诉你,但我认为在写作的那一刻根本没办法做你想做的事。

答案 1 :(得分:1)

默认情况下,绝大多数选项似乎都被隐藏/禁用..

在dom选项卡上的字母DOM的右边(当它被选中时) firebug 1.9.0b1(和1.8我确定..),有一个向下箭头。

单击该选项并选择顶部中的所有选项(除了“仅显示自己的属性”和“仅显示可枚举属性”之外的所有选项),我们可以看到一些隐藏的属性。

我确定以前的默认行为是显示所有属性,我不确定他们何时更改了它但是在我们找到这些选项之前它非常令人沮丧。

希望这可以帮助其他任何人搜索我刚才所做的事情,试图弄清楚为什么你们根本不会从瘟疫的DOM面板中获得有用的信息。

答案 2 :(得分:0)

在FireFox中,您可以使用console.log(window);获取完整的窗口属性集。但这实际上会指向该对象的DOM选项卡,它会显示对象的当前属性。

使用console.dir(window);代替您,可以快速获取您请求的特定运行时对象属性的快照。如果您看起来可以单击FireFox console.dir(window);结果中的“window”的最后一个实例,以查看函数调用时绑定到窗口对象的属性。