我有一个Mozilla的WebExtension,它通过桌面通知功能通知我。
它完全符合我的要求,但Firefox会在X秒后自动关闭通知。是否可以在用户点击之前显示通知?
我所做的是每隔5秒关闭并重新打开通知,因此用户必须单击它才能永久关闭它。
这看起来像这样:
// This is the notification function
function notifyMeFunction() {
var notification = new Notification('Alert', {
icon: chrome.extension.getURL('icons.png'),
body: "New Notification",
tag: "DesktopNotification",
});
notification.onclick = function(event) {
notificationClicked = true;
}
notification.onclose = function(event) {
notificationClicked = true;
}
}
// Function which will self-open every 5 seconds
function notifyMe() {
if (notificationClicked == false) {
notifyMeFunction();
setTimeout(notifyMe, 5000);
} else {
notificationClicked = false;
}
}
如何将显示时间设置为“必须互动”的任何想法?
答案 0 :(得分:2)
目前(Firefox版本< = 51.0a1),没有向API指示用户必须与这些通知进行交互的方法。也没有任何方法可以指定向用户显示通知的时间。
注意:您使用的是Web Notifications API,而不是WebExtensions chrome.notifications API。两者都没有办法要求用户在Firefox中进行交互。
从Chrome 50开始,Google Chrome可以选择要求用户必须与通知进行互动:requireInteraction。因此,在某个时间点,Firefox可能会支持这样的选项。
但是,至少截至目前为止,字符串为requireInteraction
does not exist in the Firefox source code。