Push.js是一个可以快速运行和接收的Javascript桌面通知库,它支持IE9+,以及现代浏览器如:Chrome, Safari, Firefox。它可以应用在网页消息推送方面,而且简单易用。
安装
我们可以使用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
}
});
权限
基于浏览器的通知需要浏览器授予权限,就如同浏览器开启摄像头一样,当前浏览器会弹出询问窗口,当你通过允许后,才会正式调用通知库,如下图。
授予权限之后:
更多详情请访问Push.js项目地址:https://github.com/Nickersoft/push.js