【问题标题】:Modifying the timeout of notifications in a firefox extension修改 Firefox 扩展中通知的超时时间
【发布时间】:2013-12-08 17:17:31
【问题描述】:

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

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

                      }
            });

【问题讨论】:

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


    【解决方案1】:

    没有办法控制动画。 @canuckistani 说对了一半:SDK notifications 和 HTML5 通知都使用相同的底层服务 nsIAlertsService。此服务不允许您控制持续时间。

    Desktop Firefox 不使用系统级服务,Metro 实现除外(尚未正式发布并且不支持附加组件 IIRC)。相反,他们使用 XUL 警报服务实现,即 some XUL with some Javascript and some additional CSS.And some code to open the window

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

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

    【讨论】:

      【解决方案2】:

      高级 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-13
        • 2019-01-17
        • 2014-03-04
        • 1970-01-01
        • 2017-07-27
        相关资源
        最近更新 更多