1 2 3 4 5 6 7
| new Notification('有个标题', { body: '该吃饭了', icon: 'https://i.imgflip.com/2/91cvs.jpg', dir: 'ltr', lang: 'zh', tag: 'first' });
|

构造方法
1
| let notification = new Notification(title, options);
|
- title 一定会被显示的通知标题
- options 可选的配置参数
- dir 文字的方向,可选值
auto
ltr
rtl
- lang 通知使用的语言
- body 通知中额外显示的字符串
- tag 标示通知的ID
- icon URL,通知的图标
静态属性
Notification.permission
有三种取值,default
默认值,行为和拒绝相同,不显示通知 granted
允许通知 denied
拒绝通知
兼容性

旧版火狐兼容性写法
Firefox 22(2013.5.14发布)版本之前,要创建一个通知实例必须使用navigator.mozNotification.createNotification
方法,下面是兼容性写法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| function sendNotification(title, options) { if ('Notification' in window) { sendNotification = function (title, options) { return new Notification(title, options); } } else if ('mozNotification' in navigator) { sendNotification = function (title, options) { return navigator.mozNotification.createNotification(title, options.body, options.icon).show(); } } else { sendNotification = function (title, options) { alert(title + ':' + options.body); } }
sendNotification(title, options); }
|
请求授权方法新规范
1 2 3 4 5 6 7
| Notification.requestPermission(callback);
Notification.requestPermission().then(function (permission) {...});
Notification.requestPermission(function (permission) {...}) .then(function (permission) {...});
|
自动关闭写法
1 2 3 4 5 6 7 8 9 10
| const generateNot = (title, options) => { const n = new Notification(title, options); n.onclick = () => { n.close(); } const timer = setTimeout(n.close.bind(n), 3000); }
|