iNotify.js 2 實現瀏覽器的title閃爍滾動聲音提示,彈出通知

JS 實現瀏覽器的 title 閃爍、滾動、聲音提示、chrome、Firefox、Safari等系統彈出通知。它沒有依賴,壓縮只有只有4.66kb(gzipped: 1.70kb),demo 實例預覽javascript

圖片描述

下載

# v2.x
$ npm install @wcjiang/notify --save
# v1.x 
$ npm install title-notify --save

使用

import Notify from '@wcjiang/notify';

const notify = new Notify({
  message: '有消息了。', // 標題
  effect: 'flash', // flash | scroll 閃爍仍是滾動
  openurl:'https://github.com/jaywcjlove/iNotify', // 點擊彈窗打開鏈接地址
  onclick: () => { // 點擊彈出的窗之行事件
    console.log('---')
  },
  // 可選播放聲音
  audio:{
    // 能夠使用數組傳多種格式的聲音文件
    file: ['msg.mp4','msg.mp3','msg.wav']
    // 下面也是能夠的哦
    // file: 'msg.mp4'
  },
  // 標題閃爍,或者滾動速度
  interval: 1000,
  // 可選,默認綠底白字的  Favicon
  updateFavicon:{
    // favicon 字體顏色
    textColor: '#fff',
    // 背景顏色,設置背景顏色透明,將值設置爲「transparent」
    backgroundColor: '#2F9A00' 
  },
  // 可選chrome瀏覽器通知,默認不填寫就是下面的內容
  notification:{
    title:'通知!', // 設置標題
    icon:'', // 設置圖標 icon 默認爲 Favicon
    body:'您來了一條新消息', // 設置消息內容
  }
});

notify.player();

在您的HTML中手動下載並引入 notify.js,你也能夠經過 UNPKG 進行下載:html

<script src="https://unpkg.com/@wcjiang/notify/dist/notify.min.js"></script>
<script type="text/javascript">
var notify = new Notify({
  effect: 'flash',
  interval: 500,
});
notify.setFavicon('1');
</script>

option

  • message: String 標題
  • effect: String, flash | scroll | favicon 閃爍仍是滾動
  • audio: 可選播放聲音java

    • file: String/Array 能夠使用數組傳多種格式的聲音文件
  • interval: Number 標題閃爍,或者滾動速度
  • openurl: String 點擊彈窗打開鏈接地址
  • onclick: Function 彈窗點擊事件
  • updateFavicon: 設置 Favicon 圖標顏色git

    • textColor: 設置 favicon 字體顏色
    • backgroundColor: 背景顏色,設置背景顏色透明,將值設置爲 transparent
  • notification: 可選chrome瀏覽器通知,默認不填寫就是下面的內容github

    • title: 默認值 通知!
    • icon: 設置圖標 icon 默認爲 Favicon
    • body: 設置消息內容

isPermission

判斷瀏覽器彈框通知是否被阻止。chrome

iNotify.isPermission()

聲音設置

player

播放聲音npm

iNotify.player()

loopPlay

自動播放聲音數組

iNotify.loopPlay()

stopPlay

中止播放聲音瀏覽器

iNotify.stopPlay()

setURL

設置播放聲音URLbash

iNotify.setURL('msg.mp3') // 設置一個
iNotify.setURL(['msg.mp3','msg.ogg','msg.mp4']) // 設置多個

title

最新的版本默認不播放標題閃爍動畫,初始化以後須要調用 setTitle(true) 方法才播放標題動畫。

setTitle

設置標題,

iNotify.setTitle(true) // 播放動畫
iNotify.setTitle('新標題') // 閃爍新標題
iNotify.setTitle() // 清除閃爍 顯示原來的標題

setInterval

設置時間間隔

iNotify.setInterval(2000)

addTimer

添加計數器

iNotify.addTimer()

clearTimer

清除計數器

iNotify.clearTimer()

favicon通知

setFavicon

設置 icon 顯示數字或者文本

iNotify.setFavicon(10)

setFaviconColor

設置 icon 顯示文本顏色

iNotify.setFaviconColor('#0043ff')

setFaviconBackgroundColor

設置 icon 顯示文本顏色

iNotify.setFaviconBackgroundColor('#0043ff')
// 設置字體和背景顏色
iNotify.setFaviconColor('#f5ff00').setFaviconBackgroundColor('red');

faviconClear

清除數字顯示原來的icon

iNotify.faviconClear()

chrome通知

notify

彈出chrome通知,不傳參數爲預設值...

iNotify.notify(); 
iNotify.notify({
  title: '新通知',
  body: '打雷啦,下雨啦...',
  openurl: 'http://www.bing.com',
  onclick: function() {
    console.log('on click')
  },
  onshow: function() {
    console.log('on show')
  },
});
  • title 必定會被顯示的通知標題。
  • dir 文字的方向;它的值能夠是 auto(自動), ltr(從左到右), or rtl(從右到左)。
  • icon 一個圖片的URL,將被用於顯示通知的圖標。
  • body 通知中額外顯示的字符串。
  • openurl 點擊打開指定 URL。
  • onclick 每當用戶點擊通知時被觸發。
  • onshow 當通知顯示的時候被觸發。
  • onerror 每當通知遇到錯誤時被觸發。
  • onclose 當用戶關閉通知時被觸發。

其它

iNotify.init().title; 獲取標題

例子

實例一

function iconNotify(num){
  if(!notify) {
    var notify = new Notify({
      effect: 'flash',
      interval: 500
    });
  }
  if(num===0){
    notify.faviconClear()
    notify.setTitle();
  } else if (num < 100){
    notify.setFavicon(num)
    notify.setTitle('有新消息!');
  } else if (num > 99){
    notify.setFavicon('..')
    notify.setTitle('有新消息!');
  }
}

實例二

var notify = new Notify({
  effect: 'flash',
  interval: 500,
});
notify.setFavicon('1');

實例三

var iN = new Notify({
  effect: 'flash',
  interval: 500,
  message: '有消息拉!',
  updateFavicon:{ // 可選,默認綠底白字
    textColor: '#fff',// favicon 字體顏色
    backgroundColor: '#2F9A00', // 背景顏色
  }
}).setFavicon(10);

實例四

var iN = new Notify().setFavicon(5);

實例五

var iN = new Notify({
  effect: 'flash',
  interval: 500,
  message: "有消息拉!",
  audio:{
    file: 'msg.mp4',
  }
}).setFavicon(10).player();

實例五

var iN = new Notify({
  effect: 'flash',
  interval: 500,
  message: '有消息拉!',
  audio:{
    file: 'msg.mp4'//能夠使用數組傳多種格式的聲音文件
  },
  notification:{
    title: '通知!',
    icon: '',
    body: '您來了一條新消息'
  }
}).setFavicon(10).player();

//彈出chrome通知,不傳參數爲預設值...
iN.notify(); 

iN.notify({
  title: '新通知',
  body: '打雷啦,下雨啦...'
});

實例六

var iN =  new Notify({
  effect: 'flash',
  interval: 500,
  message: '有消息拉!',
  audio:{
    file: ['msg.mp4', 'msg.mp3', 'msg.wav']
  },
  notification:{
    title: '通知!',
    body:'您來了一條新消息'
  }
})


iN.setFavicon(10).player();

var n = new Notify()
n.init({
  effect: 'flash',
  interval: 500,
  message: '有消息拉!',
  audio:{
    file: ['openSub.mp4', 'openSub.mp3', 'openSub.wav'],
  },
  notification:{
    title:'通知!',
    icon: '',
    body:'您來了一個客戶',
  }
})

n.setFavicon(10).player();

License

MIT © Kenny Wong

相關文章
相關標籤/搜索