如何在模态模式下打开对话框

时间:2011-10-18 13:58:17

标签: xul thunderbird

正确的方法是打开一个新的对话框,以便用户在关闭模态对话框之前无法返回主窗口。

典型的模态窗口由alert()函数创建。

我尝试过这样做没有成功:

.openWindow(null, "chrome://myapp/content/mywindow.xul","mywindow", 
"chrome,centerscreen,all,modal",null);

1 个答案:

答案 0 :(得分:1)

您忘了提到您正在使用nsIWindowWatcher

对于要进行模态化的窗口,您需要指定需要模态的窗口。如果openWindow()调用的第一个参数是null,那么窗口观察者将不知道哪个窗口打开了对话框(在关闭对话框之前需要暂停哪个窗口)。换句话说:

watcher.openWindow(mainWin, "chrome://myapp/content/mywindow.xul", "mywindow",
                   "chrome,centerscreen,all,modal", null);

或更简单:

mainWin.openWindow("chrome://myapp/content/mywindow.xul", "mywindow",
                   "chrome,centerscreen,all,modal");

请参阅window.openDialog()