Push.js - 一个 Javascript 桌面通知库
收藏
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