1
什麼是正確的方法,打開一個新的對話框,以便用戶在模態對話框關閉之前不能返回主窗口。如何在模態模式下打開對話框
典型的模式窗口由alert()函數創建。
我已經試過像這樣沒有成功:
.openWindow(null, "chrome://myapp/content/mywindow.xul","mywindow",
"chrome,centerscreen,all,modal",null);
什麼是正確的方法,打開一個新的對話框,以便用戶在模態對話框關閉之前不能返回主窗口。如何在模態模式下打開對話框
典型的模式窗口由alert()函數創建。
我已經試過像這樣沒有成功:
.openWindow(null, "chrome://myapp/content/mywindow.xul","mywindow",
"chrome,centerscreen,all,modal",null);
你忘了提及您正在使用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");
再次感謝你,弗拉基米爾!但是,當我將'mainWin'變量定義爲'「chrome://messenger/content/AccountManager.xul」時,它會產生錯誤信息(控制檯) – mate64
如果您沒有對窗口的引用,可以使用[nsIWindowMediator.getMostRecentWindow()](https://developer.mozilla.org/en/nsIWindowMediator#getMostRecentWindow%28%29)找到它(在這種情況下,窗口類型爲「mailnews:accountmanager」)。 –