查看原文
简单的说Web Notifcation就是在浏览器中调用操作系统自身的通知,当浏览器窗口缩小,或者切换到其他页面后仍然可以提示用户。
以常见的web在线聊天为例,通常在收到新消息后定时修改document.title
以闪烁的方式来通知用户,同时使用音频播放声音(Chrome必须要与界面有交互后才能播放声音);或者在浏览器右上角弹出notifaction通知来通知用户。这些方式在浏览器缩小后都不能达到很好的效果。以前的文章js实现页面title闪烁。
需要注意的是,该功能需要在https环境下才能使用,本地演示不了;同时需要用户同意之后才会生效,在Web Worker中也能使用了。
该属性标明用户是否接受现实通知,可能的值如下:
上面的 Notification.permission 的值表示是否接受通知,Notification.requestPermission就是请求获取用户的通知权限。
官方示例代码,删除了注释:
function notifyMe() {if (!("Notification" in window)) {// Check if the browser supports notificationsalert("This browser does not support desktop notification");} else if (Notification.permission === "granted") {const notification = new Notification("Hi there!");} else if (Notification.permission !== "denied") {Notification.requestPermission().then((permission) => {if (permission === "granted") {const notification = new Notification("Hi there!");}});}
}
手动的方式关闭通知,一般系统会在一段时间之后自动关闭通知。
let myNotification = new Notification(title, options);
false
。false
。除了IE主流的浏览器基本都支持
MDN Notification
下一篇:【c语言技能树】文件