我想展示一些从我的 Firefox 插件触发的桌面通知,但从我的测试来看,您似乎一次只能显示一个。我不确定是否有任何官方方法可以做到这一点,因为我没有在通知文档中找到任何提及 https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/notifications,但我也会采取一种骇人听闻的方式。
问问题
473 次
1 回答
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);
然后你需要添加一个onClick
根据notifOptions
它是一个还是多个做不同的事情。
于 2014-01-22T22:02:20.050 回答