蓝戒博客

  • 首页
  • 研发说
  • 架构论
  • 效能录
  • AI谈
  • 随笔集
智构苍穹
AI为翼,架构为骨,文化为魂,实践探新境,价值筑长青。
  1. 首页
  2. 研发说
  3. 正文

浏览器消息通知库:iNotify.js

2017年1月6日 9092点热度 0人点赞 0条评论

iNotify.js简介:

JS 实现浏览器的 title 闪烁、滚动、声音提示、chrome、Firefox、Safari等系统通知,没有依赖。

这是重复造轮子...,标题闪烁、或者滚动提示,favicon数字显示。打开chrome浏览器调试工具,按照下面截图的方式放到调试里面调用一下,你就可以看到效果了。

inotify

项目url:https://github.com/jaywcjlove/iNotify

测试例子:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>iNotify.js</title>
<script src="http://www.webzsky.com/source/web_js/iNotify.min.js"></script>
</head>
<body>
<script>
var iN = new iNotify({
effect: 'flash',
inteval: '500',
message: '有消息啦!',
audio: {
file: 'other/4331.mp3'
},
notification: {
title:'通知!',
icon:'',
body:'您来了一条新消息'
}
});
iN.isPermission();
function inotifyTest(){
iN.setFavicon(1).setTitle('新标题了').notify({
title:"新通知",
body:"您有新的订单啦..."
}).player();
}
//iN.loopPlay();
</script>

<button type="button" onclick="inotifyTest()">测试消息通知</button>
</body>
</html>

使用方法:

下载

$ 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();

参考资料:

1.https://github.com/cywcd/iNotify

2.http://blog.csdn.net/zhanglong_longlong/article/details/52539302

标签: iNotify js库 消息通知
最后更新:2025年9月13日

cywcd

我始终相信,技术不仅是解决问题的工具,更是推动思维进化和创造价值的方式。从研发到架构,追求极致效能;在随笔中沉淀思考,于 AI 中对话未来。

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

cywcd

我始终相信,技术不仅是解决问题的工具,更是推动思维进化和创造价值的方式。从研发到架构,追求极致效能;在随笔中沉淀思考,于 AI 中对话未来。

最新 热点 随机
最新 热点 随机
npm 安全更新:把握令牌变更与发布体系的迁移参考指南 TresJS:用 Vue 构建现代化交互式 3D 体验 i18n 高效实现方案:前端国际化神器安利一波 前端国际化 i18n 实践:从项目到组件库的全链路方案 GEO(生成引擎优化)完整指南:AI 搜索时代的企业内容新机会 NativeScript:用 JavaScript / TypeScript 构建真正的原生应用
前端开源工具 PinMe:极简部署体验分享大屏适配的核心痛点与一行 autofit 解决方案markdown-exit:现代化的 Markdown 解析工具Lerna + Monorepo:前端多仓库管理的最佳实践CrewAI:基于角色协作的 AI Agent 团队框架浅析2025 最推荐的 uni-app 技术栈:unibest + uView Pro 高效开发全攻略
架构的阶梯:从层次式设计到实践智慧 软件系统架构评估与质量属性分析 打造企业级前端脚手架:基于 Plop.js 与 GitLab 远程配置的实战分享 免费开源托管服务全解析:手把手教你用 Vercel + GitHub 一键部署前端项目 Ajax缓存问题解决方案 querySelectorAll方法与getElementsBy系列方法异同?
最近评论
渔夫 发布于 1 个月前(11月05日) 学到了,感谢博主分享
沙拉小王子 发布于 8 年前(11月30日) 适合vue入门者学习,赞一个
沙拉小王子 发布于 8 年前(11月30日) 适合vue入门者学习,赞一个
cywcd 发布于 9 年前(04月27日) 请参考一下这篇文章http://www.jianshu.com/p/fa4460e75cd8
cywcd 发布于 9 年前(04月27日) 请参考一下这篇文章http://www.jianshu.com/p/fa4460e75cd8

COPYRIGHT © 2025 蓝戒博客_智构苍穹-专注于大前端领域技术生态. ALL RIGHTS RESERVED.

京ICP备12026697号-2