显示来自firefox附加组件的多个桌面通知

时间:2014-01-22 16:26:57

标签: firefox sdk firefox-addon firefox-addon-sdk html5-notifications

我想显示从我的firefox附加组件触发的一些桌面通知,但似乎您只能在我的测试中一次显示一个。 我不确定是否有任何官方方法可以做到这一点,因为我在通知文档中没有找到任何提及 https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/notifications,但我也会采取一种hacky方式。

1 个答案:

答案 0 :(得分:3)

你说过hacky吗?

var timers = require("sdk/timers");
var {notify} = require("sdk/notifications");

var i=0;
var timerId = timers.setInterval(function() {
  notify({
    title: 'Famous tities for '+(++i)+'00',
    text: "That's famous titles, Mr Connery"
  });
  if (i>4) timers.clearInterval(timerId);
}, 5000);

它们不会堆叠(至少在OSX上),你可能想要在将延迟设置为5秒之前检查操作系统的默认通知时间,但考虑到限制,这是我能想到的最好的。通知模块。

不是你关心,但我只是在我的附加组件中显示不同的通知,具体取决于它是一个还是几个;我觉得它不那么具有侵入性。

function showNotif(notifs) {//notifs is an array
  var len = notifs.length;
  var notifOptions;
  if(len>1) {
    notifOptions = {
      title: len + 'notifications',
      text: addonName
    }
  } else {
    notifOptions = {
      title: notifs[0].title,
      text: notifs[0].text
    }
  }
  notify(notifOptions);

然后你需要添加一个onClicknotifOptions,根据它是针对一个还是多个来做一些不同的事情。

相关问题