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 
    }
});
知识兔

权限

基于浏览器的通知需要浏览器授予权限,就如同浏览器开启摄像头一样,当前浏览器会弹出询问窗口,当你通过允许后,才会正式调用通知库,如下图。

Pushjs

更多详情请访问Push.js项目地址:https://github.com/Nickersoft/push.js

计算机