在开发 firefox 扩展时,我使用 overlay.js 创建了一个向导窗口:
this.wizard = window.openDialog("chrome://firenow/content/wizard.xul", "","chrome, dialog, modal, resizable=no", params);
this.wizard.focus();
如何从 overlay.js 关闭向导?我应该调用它的cancel()
函数,但我无法让它工作!
this.wizard 将是一个 nsIDOMWindow 对象,但也实现了 nsIDOMWindowInternal 上的方法,因此您应该能够调用 this.wizzard.close()
您以模态方式打开了该向导,因此您的代码将停止运行,直到用户取消该向导。特别是在向导关闭之前,您不会找到向导的窗口对象,此时聚焦它不会有任何效果!如果您确实需要以模态方式打开向导,您可能仍然可以将其关闭,但您必须在向导本身中添加关闭向导的代码。
您可以编写自己的隐藏函数,在此范围内执行某些操作。
wizard.style.display = 'none';
如果您偏执,wizard
除了隐藏它之外,您还可以删除它的所有子节点。