2009-02-10 37 views
1

我有一个名为“objFrame”的IFrame的网页。Boolean表达式在Firebug Watch窗口中返回true,但在代码中为false?

JavaScript文件中,执行以下语句:

VAR useWindow =(!typeof运算(window.objFrame)= “未定义” & & typeof运算(window.objFrame.contentWindow)= “未定义”) ;

当运行代码(正常或通过它与调试器步进),则表达式

(typeof运算(window.objFrame)!= “未定义” & & typeof运算(window.objFrame.contentWindow)!=“未定义“)

是真的,当我将它粘贴到萤火虫的观察窗口,但useWindow得到值假。

我使用的是Firefox 3.0.6与1.3.2萤火虫。

我在这里错过了什么?请告诉我,这是我的一个简单的语法错误(?!?)

回答

0

如果你写的日志报表可能有帮助,打印整个值,也是“typeof运算”的结果为每个组件。也可以进入Firebug控制台。

不是 “window.objFrame” 只有在IE浏览器的DOM?

那岂不是更有意义的要求无论是在Firebug的论坛或comp.lang.javascript这样的问题?

1

我见过这样的事情Firebug的为好,并已发现了两个问题/解决方法:

  • 后一些奇怪的东西开始在Firebug发生,重启火狐经常帮助
  • 我用道场并在调试器中看到一件事情,而另一件事实际发生的代码模式是这样的(在Firebug中status = true,但实际上未定义):

    dojo.byId(“ajaxProgress”)。style.visibility =“hidden”;

    var status = responseObject.status;

一旦我改变了这些线的顺序,事情就开始符合现实。

0

我与

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

如果可能的话去。

我认为这是你想要什么来检测,但检查的typeof(空)似乎有点片状我。

(如果有充分的理由,这将无法正常工作,请不要理我:))

相关问题