web Notification接口的简单的封装–nf.js

   2016-11-04 0
核心提示:花了两个小时重温了一下html5的Web Notification接口,虽然简单,但我觉得还应该有更方便的使用方式,所以就对这个API的接口进行了简单的封装。源码放在了我的github上。加上注释也就90行,想看源码的同学请移步seeyou404–nf.js。以下就是对这个小库的功能的

花了两个小时重温了一下html5的Web Notification接口,虽然简单,但我觉得还应该有更方便的使用方式,所以就对这个API的接口进行了简单的封装。源码放在了我的github上。加上注释也就90行,想看源码的同学请移步 seeyou404–nf.js 。以下就是对这个小库的功能的一个简单的介绍。

基本使用

import NF from './nf';
  
  //创建一个实例对象
  const nf = new NF()
  //或者传入一个配置选项信息:options应该是一个对象
  const nf = new NF(options);

利用上面的方法就能创建了一个Notification通知窗口

options选项

options选项是Notification的基本配置选项,除了我们常规使用的一些选项外,我们还可以在这里面指定事件处理程序函数

{
    'title': "字符串, 弹窗的标题。默认是我的github名称:'seeyou404'",
    
    'body': "字符串,弹窗的提示信息。默认是我的github地址:'https://github.com/seeyou404'",
    
    'icon': "字符串,弹窗显示的图片的路径。默认是我的github头像:'https://avatars2.githubusercontent.com/u/12776545?v=3&s=466'",
    
    'tag': "字符串,当前弹窗的标识符。避免显示多个弹窗",
    
    'silent': "布尔值,弹窗出现的时候是否需要声音,不能和vibrate共存",
    
    'sound': "指定弹窗出现的时候的音频地址",
    
    'vibrate': "设置振动模式",
    
    'renotify': "布尔值,新弹窗出现的时候是否需要覆盖之前的,必须和tag参数共存",
    
    'click': "function 弹窗点击时候的事件监听器",
    
    'close': "function 弹窗关闭时候的事件监听器",
    
    'show': "function 弹窗出现时候的事件监听器",
    
    'error': "function 弹窗出现错误时候的事件监听器"
  }

methods

NF的实例主要有五个基本的方法:

click([callback])

添加点击事件,callback的默认值是options.click方法

const nf = new NF();
nf.click();
或者
nf.click(() => {
  alert('clicked');
})

show([callback])

添加show事件,callback的默认值是options.show方法

const nf = new NF();
nf.show();
或者
nf.show(() => {
  alert('showed');
})

close([callback])

添加点击事件,callback的默认值是options.close方法

const nf = new NF();
nf.close();
或者
nf.close(() => {
  alert('closed');
})

error([callback])

添加点击事件,callback的默认值是options.error方法

const nf = new NF();
nf.error();
或者
nf.error(() => {
  alert('errored');
})

shut()

关闭弹窗

const nf = new NF();
nf.shut();

综述

上面的四个事件处理程序支持链式调用,同时,我们也应该知道,为添加事件处理程序有两种基本形式:在options中声明事件处理函数和显示调用事件处理方法。所以我们可以像下面这样使用。

const nf = new NF({
  title: '你的标题',
  body: '你的内容',
  icon: '你的icon图片',
  click(){
    alert('clicked');
  },
  show(){
    alert('showd')
  },
  close(){
    alert('closeed');
  },
  error(){
    alert('errored');
  }
})
//声明的时候就指定了事件处理程序

//也可以这样使用
nf.show().click(function(){alert('你怎么又弹出来了')}).close();
 
标签: Notification
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

点击排行