我正在发送通知网站。如果用户未单击通知,我最多希望显示十分钟。
我使用了setTimeout,但是显示了大约15秒钟,然后隐藏了。 请引导我。
这是我的代码:
function notify(title, message, link) {
var option = {
body: message,
dir: 'rtl',
title: title,
icon: '/Images/notification.png',
}
var notify = new Notification(title, option);
notify.onclick = function () {
window.open(link, '_blank');
notify.close();
};
notification.onshow = function () {
setTimeout(notification.close, 600000);
}
}
答案 0 :(得分:0)
只需添加属性requireInteraction
。
var option = {
body: message,
dir: 'rtl',
title: title,
icon: '/Images/notification.png',
requireInteraction: true,
}
Notification的requireInteraction只读属性 接口返回一个布尔值,指示通知应 保持活动状态,直到用户单击或关闭它为止,而不是 自动关闭。
参见此处:https://developer.mozilla.org/en-US/docs/Web/API/notification/requireInteraction
答案 1 :(得分:0)
我已经更新了您的代码。可能对您有帮助!
var options = {
body: "My notification message",
dir : "ltr",
requireInteraction: true
};
var notify = new Notification('Hello User', options);
notify.onclick = function () {
notify.close();
};
notify.onshow = function () {
setTimeout(()=>{
notify.close();
}, 15000);
}