2009-02-10 36 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(空)似乎有點片狀我。

(如果有充分的理由,這將無法正常工作,請不要理我:))

相關問題