H5 notification:一个浏览器桌面通知 npm
轻量:H5 notification:一个浏览器桌面通知 npm 包,求 Star
体积不超过 2KB
安装:npm i -S notification-koro1
使用:
插件在vue项目中使用的示例:.vue
文件
初始化需要两个参数:title
(通知的标题)、options
(配置),具体信息查阅wiki文章和MDN
import notification from 'notification-koro1'; // 引入npm包
const notificationClass = new notification(title, options); // 初始化
2. 浏览器是否支持: support
在notification-koro1
初始化完毕之后,可以通过support
字段来判断浏览器是否支持notification
API
if (notificationClass.support) { // 显示通知逻辑,以下所有步骤都要在这里调用 } else { // 浏览器不支持 } 3. 注册回调事件:
注册回调事件:notificationEvent
notificationEvent
接收一个对象参数,对象的每个属性值必须都是函数
下面是栗子:
// 点击弹窗的回调 const eventObj = { // 点击通知回调 onclick: e => { console.log("点击通知打开百度", e); window.open("https://www.baidu.com/", "_blank"); }, // 通知显示回调 onshow: e => { console.log("显示", e); }, // 通知遇到错误回调 onerror: e => { console.log("通知报错", e); }, // 通知关闭回调 onclose: e => { console.log("关闭通知", e); } }; this.notificationClass.notificationEvent(eventObj);
注意:
注册回调事件需要在请求通知之前触发,否则事件无法绑定到通知上 有多个通知,想绑定不同的回调事件,再次调用这个API,绑定新的通知 插件会对对象参数和对象属性的value值进行检测,检测不通过的话,将不会绑定回调。 4. 请求用户授权const userSelectFn = msg => { if (msg === 'already granted' || msg === 'granted') { // 随时可以调用通知 return notificationClass.userAgreed(); } else if (msg === 'close') { // 请求权限通知被关闭 return notificationClass.initNotification(userSelectFn); // 再次调用 } else if(msg === 'denied' || msg === 'already denied') { // 请求权限当前被拒绝 || 曾经被拒绝 if (msg === "denied") { console.log("您刚刚拒绝显示通知 请在设置中更改设置"); }else{ console.log("您曾级拒绝显示通知 请在设置中更改设置"); } } }; notificationClass.initNotification(userSelectFn); // 请求授权 5. 显示通知
当用户同意的时候(请求授权的第一个判断),就可以在合适的时间,调用下面的方法来显示通知。
我们可以先请求用户授权,然后在需要的时候再发送通知,微博就是这么做的。
notificationClass.userAgreed(); 6. 插件提供功能 不自动关闭的通知自定义时间后自动关闭 多个通知下,一次性关闭所有通知 更新通知配置,更方便的发布多个通知 插件wiki文档 插件API 插件数据 notification浏览器桌面通知:关于使用notification,有可能会遇到的一些问题 更新日志 栗子:
.vue文件
求Star如果觉得还挺好用的,可以给我点个Star呀
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。