2011-10-07 47 views
5

我希望能夠在啓動文件下載時在Firefox中彈出的下載對話框中添加一個選項。是否有可能使用新的附加SDK來做到這一點,還是必須以舊的方式做到這一點?從附加套件修改Firefox下載對話框的內容

編輯:顯然,如果選擇新選項,我需要一種方法來知道它並基於它執行代碼。

回答

1

這是你使用XUL overlays的東西。我猜你正在談論的對話框是chrome://mozapps/content/downloads/downloads.xul - 下載管理器。 AFAIK使用附加SDK無法做到這一點,它只提供最常見的UI集成點。您可以創建傳統擴展,但可以覆蓋任何對話框。

+1

不,我不是指下載管理器 - 我是談論一個提示「打開......」/「保存在......」的內容,但我想這沒有什麼區別。每次顯示對話框時都不可能聽取某些事件並注入內容? – CAFxX

+2

@CAFxX:好的,那就是'chrome:// mozapps/content/downloads/unknownContentType.xul'。手動注入內容將浪費時間,如果在chrome清單中指定,疊加層將自動應用。 –

+0

是的,但內容注入也可以在使用附加sdk時正常工作,對嗎? – CAFxX

1

沒有現成的模塊可以幫助我瞭解,所以您必須創建一個模塊,或者等待其他模塊創建模塊。但主要的想法擴展瀏覽器的用戶界面很簡單,而且是這樣的:

  1. 當插件加載,掃描,你要延長型的打開的窗口。
  2. 通過向頁面添加xul元素和javascript來擴展打開的窗口。
  3. 聽新打開的窗口,並測試它們是您正在尋找的,一旦他們打開
  4. 後自己擴展新開的窗口,同時你的插件活躍
  5. 清理時窗口關閉或當你的插件類型被禁用/卸載。

最後一步是最重要的,永遠不會與重新啓動的舊式擴展無關。

一些內置模塊,你可以看看這樣做是小部件模塊,上下文菜單模塊和熱鍵模塊,all of which you can find here

我自己做了一對夫婦,它們是工具欄按鈕模塊,xulkeys模塊,menuitems模塊和其他幾個,all of which you can find here