2009-11-30 21 views
3

在我寫的Firefox擴展中,我有一個變量,包含一些我希望能夠在實際擴展和偏好窗格中訪問的數據延期。當Firefox被加載時,我的擴展代碼用正確的數據初始化變量。但是,當我彈出我的選項對話框(包含在另一個XUL文件中)並嘗試使用同一個變量時,該變量尚未初始化。我的兩個擴展XUL文件都使用相同的JavaScript源文件,但它看起來像兩個XUL文件正在初始化變量的新副本。我怎樣才能讓這個變量共享?在Firefox擴展的多個部分中訪問相同的變量

謝謝!

回答

5

您將需要創建JavaScript code module。它內部的所有變量和方法都被包含它的所有位置共享。

+0

我爲我的代碼創建了一個JavaScript代碼模塊,它似乎正在工作。但是,在我放入模塊的一些代碼中,我使用了DOMParser。現在,代碼位於模塊中,當我嘗試使用DOMParser時,Firefox中出現錯誤,說DOMParser未定義。我需要做什麼才能使用DOMParser? – Scott 2009-12-02 17:36:35

+1

好的,我明白了。我只需要使用var parser = Components.classes [「@ mozilla.org/xmlextras/domparser;1」] .createInstance(Components.interfaces.nsIDOMParser)來替代var parser = new DOMParser() – Scott 2009-12-02 17:56:14