2008-12-31 27 views
5

我想開發一個firefox擴展插入額外的HTTP頭字段到傳出的HTTP請求(與我正在同時開發的一個Apache擴展接口)。初學者幫助 - 此代碼屬於哪裏?

雖然我理解擴展的各個組件,並理解Web上提供的基本教程,但我發現從「Hello World」教程擴展開始,很難找到全面的擴展。

我想要適應我的目的的示例代碼顯示在Setting HTTP request headers的底部。

我在想,在擴展層次結構中應該放置這些代碼的位置以及這樣的代碼如何被調用/構建/激活,它會在擴展初始化時自動運行嗎?



在此先感謝。

+0

您是否嘗試過搜索與您嘗試實現的內容緊密匹配的現有擴展?可能是一個開始... – mark 2008-12-31 11:30:05

回答

2

對於一個基本的擴展,你可以將你的代碼放在擴展的chrome/content目錄中。您可以使用overlay將此內容掛接到Firefox。雖然覆蓋通常是xul內容(按鈕等),但它們可以是任何東西。包括一個腳本標記,可以加載你的Javascript代碼。

0

該代碼是XPCOM組件,並進入components/<some name>.js文件。

如果您想挖掘XPCOM組件,您應該閱讀它,但是,在啓動時會加載components中的.js文件。這些文件包含註冊碼(在該示例中從var myModule = {行開始),告訴Firefox文件中定義的組件是否可以根據請求使用,或者是否應該自動實例化。

在那個例子中,你可以看到組件登記報名通知應用程序的啓動:

catMgr.addCategoryEntry("app-startup", this.myName, this.myProgID, true, true); 

和處理應用程序,啓動通知時,將自身註冊爲HTTP上 - 修改 - 請求通知:

os.addObserver(this, "http-on-modify-request", false);