nsIDOMWindowUtils.isInModalState() not working

nsIDOMWindowUtils.isInModalState() not working

本文关键字:not working isInModalState nsIDOMWindowUtils      更新时间:2023-09-26

我得到了窗口的utils:

var utils = Services.wm.getMostRecentWindow('navigator:browser').
            QueryInterface(Components.interfaces.nsIInterfaceRequestor).
            getInterface(Components.interfaces.nsIDOMWindowUtils);

则运行这段代码表明它不是一个函数:

Services.prompt.alert(null, 'is modal?', utils.isInModalState())
//Exception: utils.isInModalState is not a function

尽管它在文档中说它是。

我也不能运行这段代码:

utils.enterModalState()

运行没有错误,但窗口没有进入或离开模式状态

.isInModalState属性实际上被标记为[noscript],因此它在Javascript中不可用,只有c++。

.enterModalState()不做你认为它做什么。它不会使窗口变成UI-modal(像警告对话框)。它只是暂停窗口中的脚本和事件处理。