Chrome不会关闭通知
Chrome doesn't close the notification
我目前正在使用这个实现来使用基于浏览器的通知:
https://developer.mozilla.org/en-US/docs/Web/API/Notification
真是妙不可言。
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秒。
这也可以在web应用程序级别使用Notification.close()方法完成,例如使用以下代码:
var n = new Notification("Hi!");
n.onshow = function () {
setTimeout(n.close, 5000);
}
虽然这段代码不起作用。控制台中有一个错误说通知没有close方法或类似的东西
实际上我错了,代码
var message_notification = new Notification("Data");
setTimeout(function(){
message_notification.close();
}, 3000);
适用于Firefox和Chrome。(我猜Safari也一样)
为选项添加标签将在显示新选项之前关闭当前弹出窗口
var options = {
body: msg,
icon: "logo.png",
dir: "ltr",
tag: "group1"
};
相关文章:
- 单击Chrome通知后,转到已打开的选项卡
- 带有XHR的Chrome推送通知(使用不带PHP的JavaScript)
- Chrome Android版-通知;t出现
- Chrome扩展通知未显示contextMessage
- 如何在chrome扩展中插入通知操作按钮
- 我可以禁用Chrome浏览器中的“你已经全屏”通知吗
- Chrome扩展-在全屏视频顶部显示自定义通知/弹出窗口(HTML元素)
- 用户点击后关闭通知的Google Chrome扩展
- 如何使用 chrome 桌面通知向许多用户发送通知
- Chrome 富通知 - 如何使用它
- 仅当标签页处于非活动状态时,才会显示 Chrome 桌面通知
- 如何链接 GCM Chrome 推送通知和有效负载数据
- Chrome 扩展程序 - GCM 通知会引发错误,但信息已存在
- 如何增加“Chrome 推送通知”的可见性时间
- 如何在固定时间间隔内实现 chrome 扩展弹出桌面通知
- Chrome 桌面通知无法取消
- Chrome 开发 - chrome.tabs.sendMessage 不通知运行时
- 点击 Chrome 桌面通知即可专注于内容
- 打包应用中的 Chrome 通知“Chrome.notifications.create”
- 显示通知Chrome扩展