2012-06-08 46 views
0

我有一個iframe問題(對我來說有點奇怪)。問題是,我有我的文檔中的iframe,並有多種功能上的iframe正在操作不同的任務和訪問iframe的內容,我們使用:javascript中的全局變量無法正常工作

$("iframe").contents(); 

因此,而不是寫這麼長的語句,我用一個全局變量:

var i = $("iframe").contents(); 

但這都不盡如人意,像

alert(i.find("someelement"));  

=>undefined

alert($("iframe").contents().find("someelement")  

=>[object]

請告訴我這裏的問題?

+0

粘貼你的完整代碼,像你在哪裏聲明我 – 2012-06-08 07:10:43

回答

1

替換

var i = $("iframe").contents(); 

window.i = $("iframe").contents(); 

i作爲具有較小的範圍比window,它是用來在JavaScript中聲明全局變量。

但還有一件事是,如果iframe中的任何項目來自不同的域,則不能修改其中的任何項目。希望這可以幫助。

0

您可能在某處覆蓋了i,或者它不是全局的。爲確保它是全球性的,請勿使用var。相反,請定義window.i = ...;並始終參考window.i。這樣可以避免與局部變量混淆(因爲i幾乎總是用作迭代變量,所以經常會發生這種情況)。另外請確保您始終將i聲明爲本地,如果您將它用於除iframe之外的任何內容(例如上述迭代器)。