修改firefox扩展中的通知超时

时间:2013-12-08 17:17:32

标签: firefox firefox-addon firefox-addon-sdk

我正在使用firefox SDK的通知功能来创建firefox扩展。问题是,在显示通知后它消失得太快,有没有办法修改通知的超时?这是我正在使用的代码:

notifications.notify({
                      title: "notification title",
                      text: " notification text ",
                      data: List[i] ,
                      onClick: function (data) {
                        tabs.open(data);

                      }
            });

2 个答案:

答案 0 :(得分:1)

无法控制动画。 @canuckistani是右半:SDK notifications和HTML5通知都使用相同的底层服务nsIAlertsService。此服务不允许您控制持续时间。

桌面Firefox不使用系统级服务,但Metro实施除外(尚未正式发布且不支持附加组件IIRC)。相反,他们使用的是XUL警报服务实现,只有some XUL with some Javascript and some additional CSSsome code to open the window

根据某些pref,将使用通过setTimeout的硬编码4000毫秒超时,或4s CSS动画。

虽然不方便,特别是在SDK附加组件中没有获得chrome包以打开自己的XUL窗口,但是您可以使用控件来复制/粘贴实现您自己的XUL窗口的分支。 ,甚至覆盖Firefox的默认值。 我现在不记得这个名字了,但是我知道至少有一个附加组件可以做到这一点,重写内置实现并让用户选择自定义超时等等。

答案 1 :(得分:0)

高级SDK api无法控制通知的消失速度:

https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/notifications.html

Firefox 22+中的这种实现依赖于基础HTML5通知api,而在Firefox和Safari中,具体实现似乎难以关闭通知关闭之前经过的时间:

https://developer.mozilla.org/en-US/docs/WebAPI/Using_Web_Notifications#Creating_a_notification