console.dir (окно) в Firefox? - PullRequest
       52

console.dir (окно) в Firefox?

5 голосов
/ 24 марта 2011

console.dir(window) в Chrome:

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

console.dir(window) в Firebug (в Firefox 7):

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

Почему Firebug перечисляет только пару свойств объекта window? Как я могу перечислить все глобальные свойства в Firefox?

Кроме того, где находится свойство __proto__, чтобы я мог следовать цепочке прототипов?

Ответы [ 3 ]

2 голосов
/ 24 марта 2011

Казалось бы, Firebug отфильтровывает свойства, которые не удовлетворяют hasOwnProperty. Например, при инвестировании в DOM с использованием Firefox 4 / Firebug 1.7 появляются navigator и addHandler, а confirm - нет. Обратите внимание:

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

Однако Date не отображается, а:

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

Так что, похоже, также отфильтровываются глобальные конструкторы, что подтверждается комментарием 9 к этой ошибке . Я не знаю, какие функции используются для фильтрации этих конструкторов.

В любом случае, я не нашел способа обойти это. Если я это сделаю, я дам вам знать, но я думаю, что просто нет способа сделать то, что вы хотите в момент написания.

1 голос
/ 22 ноября 2011

По умолчанию подавляющее большинство опций скрыто / отключено.

Справа от букв DOM на вкладке dom (пока она выбрана) firebug 1.9.0b1 (и 1.8 уверен ..), есть стрелка вниз.

Нажав на это и выбрав все параметры в верхнем разделе (т. Е. Все, кроме «Показать только собственные свойства» и «Показать только перечисляемые свойства»), мы увидели некоторые скрытые свойства.

Я уверен, что по умолчанию поведение показывало все свойства, и я не уверен, когда они меняли его, но это было довольно неприятно, пока мы не нашли эти опции.

Надеюсь, это поможет кому-нибудь еще погуглить то, что я только что сделал, пытаясь понять, почему вы вообще не можете получить никакой полезной информации из DOM Panel firebug.

0 голосов
/ 24 марта 2011

В FireFox вы можете получить полный набор свойств окна с помощью console.log(window); Но это, по сути, укажет вам на вкладку DOM для этого объекта, которая показывает текущие свойства объекта.

Использованиеconsole.dir(window); вместо этого дает снимок свойств объекта в конкретное время выполнения, которое вы запросили.Если вы посмотрите, вы можете щелкнуть последний экземпляр «окна» в вашем FireFox console.dir(window); результате, чтобы увидеть свойства, связанные с объектом окна во время вызова функции.

...