1

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

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

我试过这样没有成功:

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

1 回答 1

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()

于 2011-10-18T14:18:39.677 回答