2009-02-10 11 views
1

У меня есть веб-страница с IFrame с именем objFrame.Boolean Javascript выражение возвращает true в окне Firebug Watch, но false в коде?

В файле Javascript, следующая инструкция выполняется:

вар useWindow = (! TypeOf (window.objFrame) = "неопределенные" & & TypeOf (window.objFrame.contentWindow) = "неопределенные") ;

При выполнении кода (обычно или шагая через него с помощью отладчика), выражение

(TypeOf (window.objFrame)! = "Неопределенный" & & TYPEOF (window.objFrame.contentWindow)! = " undefined ")

true, когда я вставляю его в окно« Часы »в Firebug, но useWindow получает значение false.

Я использую Firefox 3.0.6 с Firebug 1.3.2.

Что мне здесь не хватает? Скажите, пожалуйста, что это простая синтаксическая ошибка с моей стороны (?!?)

ответ

0

Это может помочь, если вы пишете записи журнала, распечатываете все значение, а также результат «typeof» для каждого компонента. Также введите их в консоль Firebug.

Не "window.objFrame" только в IE DOM?

Не имеет смысла задавать такие вопросы как на форуме Firebug, так и на comp.lang.javascript?

1

Я видел что-то подобное с Firebug, а также, и нашли две проблемы/обходные пути:

  • После некоторые странные вещи начинает происходить в Firebug, перезагрузки Firefox часто помогает
  • Я использую додзё и видя одно в отладчике, а другое - на самом деле происходит с таким кодом кода (status = true в Firebug, но на самом деле не определено):

    dojo.byId ("ajaxProgress"). style.visibility = "hidden";

    var status = responseObject.status;

Как только я изменил порядок этих линий вокруг, все стало соответствовать реальности.

0

Я бы с

var useWindow = (window.objFrame != null 
    && window.objFrame.contentWindow != null); 

, если вообще возможно.

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

(Если есть веская причина, это не сработает, проигнорируйте меня :))