2011-06-06 77 views
2

我喜歡通過擴展基本的 Firefox窗口來創建窗口,該窗口在chrome://browser/content/browser.xul中定義爲頂層元素(不覆蓋)。XUL:如何包含和擴展另一個.xul文件?

我的問題是關於分支/從基本的窗口定義分叉之前施加任何修改它的其它分機是有關如何應用覆蓋或修改什麼用戶看作爲主FF窗口。

你有什麼想法該怎麼做?

回答

2

你的問題仍然是關於疊加。您應該覆蓋是這樣的:

<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 
    <window id="main-window"> 
     <commandset id="my-commands"> 
      ... 
     </commandset> 
    </window> 
</overlay> 

這個例子將一個 <commandset>元素添加到瀏覽器窗口(這恰好是一個 <window>元素與ID main-window)的根。

編輯:看起來問題不是關於在頂層添加元素,而是關於如何創建現有XUL文檔的分支。您可以通過添加一個override指令您chrome.manifest用於創建別名:

override chrome://myextension/content/browser.xul chrome://browser/content/browser.xul 

現在,您可以覆蓋應用到別名ONY:

overlay chrome://myextension/content/browser.xul chrome://myextension/content/browserOverlay.xul 

疊加應用到網址,這使得這一切成爲可能。現在,您可以在新窗口中打開chrome://myextension/content/browser.xul,它應該是瀏覽器窗口,但應用了疊加層。請注意,這種方法有一些限制,例如覆蓋瀏覽器窗口的擴展名對您的窗口沒有影響(它們的疊加層僅適用於原始瀏覽器窗口URL)。

+0

我將它保存爲my.xul,然後使用chrome://打開它,但它什麼都沒顯示。查看源只顯示my.xul內容,browser.xul內容不合並。 – 2011-06-06 20:19:36

+0

這是一個覆蓋,你需要將它應用到browser.xul ... – 2011-06-06 20:29:01

+0

我已經在我的問題中說過,我不需要對browser.xul應用任何更改,它被用戶視爲FF窗口,但創建另一個窗口從* basic * FF窗口分叉(browser.xul,不與其他插件疊加在一起)。 – 2011-06-06 20:33:39