我正在尝试使用XUL将对话框添加到已经定义了覆盖xul的Firefox扩展中。我尝试在同一个overlay.xul文件中添加对话框代码,但在错误控制台中遇到“dialog.getButton不是函数”错误。该文件的结构如下所示:
<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文件?
答案 0 :(得分:1)
在同一个覆盖XUL文件中添加对话框代码是否可能或正确
没有
我应该将它们分开吗?
是
同一个扩展名有多个XUL文件可以吗?
是
您可以根据需要在扩展程序中包含尽可能多的XUL文件。每个XUL文档都应该在一个单独的文件中 - 因为文档的根标记很重要。叠加层应以<overlay>
作为其根标记,对话框需要使用根标记<dialog>
和常规窗口<window>
。