0

是否可以使用 XUL(特别是在 Firefox 中)创建一个对话框,即:

  • 始终在顶部,但不会阻止用户与页面的交互

和/或

  • 只有选项卡模式,而不是窗口模式

?

4

1 回答 1

1

你当然可以有一个非阻塞对话框,但是当你点击窗口时它会进入后台。供参考,请参阅:

window.openDialog("chrome://membees/content/dialog.xul",
    "","centerscreen=yes, all=no, titlebar=yes, chrome=yes, toolbar=yes, 
    dialog=no, resizable=no,modal=no","");

但是如果你想要更多的控制,你可以创建一个面板,并利用 level 属性:

等级

指定面板是显示在所有窗口的顶部,还是仅显示在面板所在的窗口的顶部。如果未设置此属性,则弹出窗口级别取决于平台。在 Linux 上,默认值为 top,否则,默认值为 parent。如果面板有一个或多个文本字段,则不应设置此属性,否则 IME 或屏幕键盘弹出窗口将出现错误。由于这些原因,如果不需要,您应该避免设置级别。

  • 最佳

该面板显示在所有其他普通窗口的前面,包括其他应用程序的窗口。

  • 父母

面板显示在面板所在窗口的正上方,但在其上方的其他窗口之后。如果锚定,子窗口将保持其与其父窗口的相对位置。

  • 漂浮的

面板浮动在面板所在的窗口上方。在 Mac 上,面板仅在应用程序处于活动状态时可见。

要创建它,您必须将其添加到<popupset>叠加层中的基本元素,然后使用以下命令打开它:

openPopup(anchor,position,x,y,isContextMenu,attributesOverride,triggerEvent )
于 2013-11-12T10:42:34.637 回答