编写Firefox扩展以显示无框/透明窗口

时间:2009-06-29 11:48:53

标签: firefox firefox-addon transparent

我目前正在开发Firefox扩展程序。在Firefox的扩展中,您可以通过调用window.open并指定该窗口的XUL文件来显示一个窗口。您可以将其设为对话框和/或模态。但没有办法使窗口无框架(没有标题栏和窗口边框),我理解。此外,不可能使窗口的主体透明(但不能使其中的控件),我也理解为什么。

我知道有一种解决方法是以非标准方式进行透明窗口。但这并没有删除窗口的框架。我想问的是,是否有人知道如何实现这样的事情,无框架和透明窗口。或者至少能够实现无框窗口。即使它们不是完美的解决方案,我也很乐意得到任何建议。

谢谢。

修改

透明或无框窗口必须基于Firefox GUI,而不是基于页面的HTML(即我不是要修改页面的HTML以显示一个带有javascript的窗口,该窗口是HTML文档的一部分)。任何不基于当前页面的HTML的解决方案都被接受。

2 个答案:

答案 0 :(得分:2)

使用Windows无法实现此目的。但是,您可以使用xul:panel element完成所需的操作。您可以使用标准CSS使其透明,并控制它打开的位置。有关面板的更多详细信息,请参阅the popup guide for them

答案 1 :(得分:0)

问题是这在跨平台上不起作用。窗口装饰和透明度由窗口管理器控制,对Windows,Linux和Mac必须采用不同的方式。甚至可能适用于每个版本和服务包。

您需要为扩展程序包含特定于平台的库,并控制您想要透明的窗口。然后使窗口透明的代码与Firefox无关,应该在另一个问题中进行讨论。