花了兩個小時重溫了一下html5的Web Notification接口,雖然簡單,但我以爲還應該有更方便的使用方式,因此就對這個API的接口進行了簡單的封裝。源碼放在了個人github上。加上註釋也就90行,想看源碼的同窗請移步seeyou404--nf.js。如下就是對這個小庫的功能的一個簡單的介紹。javascript
import NF from './nf'; //建立一個實例對象 const nf = new NF() //或者傳入一個配置選項信息:options應該是一個對象 const nf = new NF(options);
利用上面的方法就能建立了一個Notification通知窗口html
options選項是Notification的基本配置選項,除了咱們常規使用的一些選項外,咱們還能夠在這裏面指定事件處理程序函數html5
{ '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 彈窗出現錯誤時候的事件監聽器" }
NF的實例主要有五個基本的方法:java
添加點擊事件,callback的默認值是options.click方法git
const nf = new NF(); nf.click(); 或者 nf.click(() => { alert('clicked'); })
添加show事件,callback的默認值是options.show方法github
const nf = new NF(); nf.show(); 或者 nf.show(() => { alert('showed'); })
添加點擊事件,callback的默認值是options.close方法函數
const nf = new NF(); nf.close(); 或者 nf.close(() => { alert('closed'); })
添加點擊事件,callback的默認值是options.error方法code
const nf = new NF(); nf.error(); 或者 nf.error(() => { alert('errored'); })
關閉彈窗htm
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();