3
:
https://developer.mozilla.org/en-US/docs/Web/API/NotificationChrome不关闭通知
这就像一个魅力。
if ("Notification" in window) {
if(Notification.permission === "granted") {
if($('#notify-on-message').is(':checked')) {
var notification = new Notification(username + ' : ' + data, {'icon': "/custom/favicon.gif"});
}
if ($('#notify-on-hl').is(':checked')) {
var patt = new RegExp("(^|\\W)"+selfusername+"(\\W|$)");
if(patt.test(data)) {
var notification = new Notification(username + ' highlighted you.', {'icon': "/custom/favicon.gif"});
}
}
}
}
主要的问题我有是,基于Chrome浏览器,中,通知只是没有3秒延时后关闭本身。
它尝试了var notification = ...
setTimeout(function() {
notification.close();
}, 2000);
后加入这个虽然这并不能改变一个单一的东西。通知仍然存在。
这是一个已知的问题吗?有没有一种简单的方法可以解决我不想要的这种行为?
编辑1: 根据这个页面:
https://developer.mozilla.org/en-US/docs/WebAPI/Using_Web_Notifications
这是一个已知的问题:
注:Firefox和Safari浏览器后几分钟自动关闭的通知,如4秒。
这也可以在使用Notification.close()方法中的Web应用程序级别进行,例如用下面的代码:
var n = new Notification("Hi!");
n.onshow = function() {
setTimeout(n.close, 5000);
}
虽然该代码不工作。控制台中有一个错误,表示通知没有close方法或类似的东西。
仍然好奇为什么广告方式('.onshow')不起作用。 –
也许文档不是最新的,或者我使用的是不同的版本。实际上不记得^^“ – Depado