Push.js是一个可以快速运行和接收的桌面通知库,它可以应用在网页消息推送方面,而且简单易用。
安装
我们可以使用npm快速安装。
npm install push.js --save
使用
运行push接收通知非常简单,以下代码就可以创建一个新的通知:
Push.create('Hello World!');
我们还可以传入参数对象,定制通知效果,
Push.create("Hello world!", {
body: "Welcome to Helloweba.net",
icon: '/icon.png',
timeout: 4000,
onClick: function () {
window.focus();
this.close();
}
});
我们也可以使用Push.close()方法来手动关闭通知界面。
Push.create('Hello World!', {
tag: 'foo'
});
// Somewhere later in your code...
Push.close('foo');
选项和配置
以下是常用的选项配置:
body:通知的主体内容。
data:数据传递给ServiceWorker通知。
requireInteraction:如果设置成true的话,通知不会自动关闭,除非人工手动点击关闭。
icon:可以设置通知界面上大小为16x16或32x32像素的小图标。
link:当用户点击移动设备上的通知时,则会导航到对应的页面上。
tag:标记通知,后面关闭通知可以通过该标记来识别是要关闭哪条通知。
timeout:通知自动关闭的时间,毫秒。
onClick():回调,当点击通知界面的时候触发。
onClose():回调,当要关闭通知的时候触发。
onError():回调,当通知抛出错误的时候触发。
onShow():回调,当显示通知的时候触发。
Push.js还提供了一个.config()方法用于全局配置。
Push.config({
serviceWorker: './customServiceWorker.js', // Sets a custom service worker script
fallback: function(payload) {
// Code that executes on browsers with no notification support
// "payload" is an object containing the
// title, body, tag, and icon of the notification
}
});
权限
基于浏览器的通知需要浏览器授予权限,当前浏览器会弹出询问窗口,当你通过允许后,才会正式调用通知库。