0

在开发 firefox 扩展时,我使用 overlay.js 创建了一个向导窗口:

this.wizard = window.openDialog("chrome://firenow/content/wizard.xul", "","chrome, dialog, modal, resizable=no", params);
this.wizard.focus();

如何从 overlay.js 关闭向导?我应该调用它的cancel()函数,但我无法让它工作!

4

3 回答 3

1

this.wizard 将是一个 nsIDOMWindow 对象,但也实现了 nsIDOMWindowInternal 上的方法,因此您应该能够调用 this.wizzard.close()

于 2009-06-12T22:11:47.677 回答
1

您以模态方式打开了该向导,因此您的代码将停止运行,直到用户取消该向导。特别是在向导关闭之前,您不会找到向导的窗口对象,此时聚焦它不会有任何效果!如果您确实需要以模态方式打开向导,您可能仍然可以将其关闭,但您必须在向导本身中添加关闭向导的代码。

于 2009-10-09T19:02:53.180 回答
0

您可以编写自己的隐藏函数,在此范围内执行某些操作。

wizard.style.display = 'none';

如果您偏执,wizard除了隐藏它之外,您还可以删除它的所有子节点。

于 2009-06-30T12:24:08.967 回答