2011-11-29 46 views
1

我想添加一個對話框使用XUL到一個已經有覆蓋層xul定義的Firefox擴展。我嘗試在同一個overlay.xul文件中添加對話框代碼,但在錯誤控制檯中遇到「dialog.getButton不是函數」錯誤。文件的結構如下所示:除了覆蓋在Firefox擴展中添加對話框XUL

<overlay id="xxx" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 
... code... 
<dialog id="yyy" 
    buttons="," 
    onload="onLoad();"> 
    .... 
</dialog> 
</overlay> 

如果我將對話框的xul代碼分隔到不同的文件中,那麼一切似乎都起作用。所不同的是,在不同的dialog.xul文件,對話框的代碼如下所示:

<dialog id=yyy" 
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 
    buttons="," 
    onload="onLoad();"> 
    ... 
</dialog> 

是否有可能或正確的添加對話框代碼在同一個覆蓋XUL文件或者我應該真正把它們分開?可以爲同一個擴展使用多個XUL文件嗎?

回答

1

是否有可能或正確的添加對話框代碼在同一個覆蓋XUL文件

應該我居然把它們分開?

是的。

可以爲同一個擴展使用多個XUL文件嗎?

是的。

您可以根據需要在擴展中包含儘可能多的XUL文件。每個XUL文檔都應該放在一個單獨的文件中 - 這是因爲文檔的根標籤很重要。覆蓋圖應該有<overlay>作爲其根標記,對話框需要使用根標記<dialog>和常規窗口<window>

+0

謝謝!將繼續這個方向! – muffin