欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Javascript快速实现浏览器系统通知

程序员文章站 2022-04-29 08:24:22
js 实现浏览器的 title 闪烁、滚动、声音提示、chrome、firefox、safari等系统通知。 下载 $ npm install title-...

js 实现浏览器的 title 闪烁、滚动、声音提示、chrome、firefox、safari等系统通知。

Javascript快速实现浏览器系统通知

下载

$ npm install title-notify --save-dev
$ bower install inotify --save-dev

编译

# 下载依赖工具
$ npm install 
# 压缩inotify
$ npm build
init
effect: flash | scroll | favicon
var inotify = new inotify().init()
//推荐下面写法
var inotify = new inotify({
 message: '有消息了。',//标题
 effect: 'flash', // flash | scroll 闪烁还是滚动
 openurl:"http://www.bing.com", // 点击弹窗打开连接地址
 onclick:function(){ //点击弹出的窗之行事件
  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:'您来了一条新消息'//设置消息内容
 }
})

ispermission

判断浏览器弹框通知是否被阻止。

inotify.ispermission()

声音设置

player

播放声音

inotify.player()
loopplay

自动播放声音

inotify.loopplay()
stopplay

停止播放声音

inotify.stopplay()
seturl

设置播放声音url

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)
faviconclear

清除数字显示原来的icon

inotify.faviconclear()

chrome通知

notify

弹出chrome通知,不传参数为预设值...

inotify.notify(); 
inotify.notify({
 title:"新通知",
 body:"打雷啦,下雨啦...",
 openurl:"http://www.bing.com",
 onclick:function(){
  console.log("---")
 }
});

其它

inotify.init().title; 获取标题

例子

new inotify({
 effect: 'flash',
 interval: 500
})

上面的例子跟下面的是一样的

new inotify().init({
 effect: 'flash',
 interval: 500
});

实例一

function iconnotify(num){
 if(!notify) {
  var notify = new inotify().init({
   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 inotify().init({
 effect: 'flash',
 interval: 500
});
notify.setfavicon("1")

实例三

var in = new inotify().init({
 effect: 'flash',
 interval: 500,
 message:"有消息拉!",
 updatefavicon:{//可选,默认绿底白字
  textcolor: "#fff",// favicon 字体颜色
  backgroundcolor: "#2f9a00" //背景颜色
 }
}).setfavicon(10);

实例四

var in = new inotify().init().setfavicon(5);

实例五

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

实例五

var in = new inotify().init({
 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 inotify({
 effect: 'flash',
 interval: 500,
 message:"有消息拉!",
 audio:{
  file: ['msg.mp4','msg.mp3','msg.wav']
 },
 notification:{
  title:"通知!",
  body:'您来了一条新消息'
 }
})
in.setfavicon(10).player();
var n = new inotify()
n.init({
 effect: 'flash',
 interval: 500,
 message:"有消息拉!",
 audio:{
  file: ['opensub.mp4','opensub.mp3','opensub.wav']
 },
 notification:{
  title:"通知!",
  icon:"",
  body:'您来了一个客户'
 }
})
n.setfavicon(10).player();

总结

以上所述是小编给大家介绍的javascript快速实现浏览器系统通知,希望对大家有所帮助