在window
对象尚未可用的阶段的Firefox引导插件中,我想创建一个要保留为模板的元素(当时不要插入)。
我想知道这是否可能?
可以在createElement()
以外的任何其他地方创建window.document
吗?
答案 0 :(得分:3)
我个人但我的东西是XML文件(真的是一个XUL文件)并使用XHR来解析它(.responseXML
)。 DOMParser
通过nsIDOMParser
是另一种选择(虽然在启动期间执行同步文件I / O并不是一个好主意,但在UX方面......)
如果您想要一个空白文件IIRC(?!),您可以使用nsIDocumentLoaderFactory.createBlankDocument
。
然后你可以从预解析的DOM {(3}} / .cloneNode(true)
进入(浏览器)窗口。
答案 1 :(得分:2)
您可以执行Services.appShell.hiddenDOMWindow.document.createElement
但是在浏览器启动时,你必须添加一个事件监听器来监听加载hiddenDOMWindow
的时间。
但createElement
与createElement
的开销相同,我很确定吗?所以你需要在需要插入时才需要createElement,这显然会有一个窗口。