2010-07-13 66 views
0

我在寫Firefox擴展。我爲chrome://browser/content/browser.xul設置了一個覆蓋圖,我正在處理加載事件。我有工作。我可以從我的覆蓋腳本中調用其他JavaScript文件中的其他方法嗎?

我的擴展中也有N個單獨的.js文件(具體地說是chrome://my-extension/content/js/*.js)。這些.js文件中的每一個都實現了一個通用接口。

例如,foo.js可能是這樣的:

var fooThinger = { 
    doYouCare: function (e) { 
    // ... decide if I care ... 
    return cares; 
    }, 
    someOtherStuff: function (e) { 
    // ... some other stuff ... 
    }, 
    // ... other methods ... 
} 

function getThinger() { 
    return new fooThinger(); 
} 

什麼我能做的就是枚舉所有這些.js文件在我上載的處理程序,我可以使用nsIFile和所有做的瀏覽器。

不知道怎麼做的就是調用每個文件中的getThinger()方法一旦我已經建立了目錄中的所有文件的列表。這可能嗎?如果是這樣,怎麼樣?

回答

1

我想你會使用https://developer.mozilla.org/en/Components.utils.import或mozIJSSubScriptLoader這是在同一頁上描述。我不確定哪一個更適合你的情況。

+0

看起來很合理。我會給你一個鏡頭('mozIJSSubScriptLoader')。 – 2010-07-13 18:06:35

+0

這工作得很好。 – 2010-07-13 21:45:38

相關問題