0

在对象尚不可用的阶段,在 Firefox 引导插件中window,我想创建一个元素作为模板保存(当时不插入)。

我想知道这是否可能?
可以createElement()在除 a 之外的任何其他地方创建window.document吗?

4

2 回答 2

3

我个人将我的东西放在一个 XML 文件(实际上是一个 XUL 文件)中,并使用 XHR 来解析它(.responseXML)。DOMParservia是另一种选择(尽管在nsIDOMParser启动期间同步文件 I/O 不是一个好主意,UX 方面...)

如果你想要一个空白文档,IIRC (?!) 你可以使用nsIDocumentLoaderFactory.createBlankDocument.

然后你可以.cloneNode(true)/.importNode从预解析的DOM 进入(浏览器)窗口。

于 2014-07-01T18:58:42.570 回答
2

你可以做Services.appShell.hiddenDOMWindow.document.createElement

但是在浏览器启动时,您必须添加一个事件侦听器来侦听何时hiddenDOMWindow加载。

但是我很确定这样做createElement的开销是一样的,对吗?createElement所以你只需要在需要插入的时候创建元素,显然会有一个窗口。

于 2014-07-01T23:44:15.547 回答