1. favicon.js是什么

一个js库可以使用徽标、图像、视频等来设置网页的favicon,即网页标题栏上的小图标。

2. 如何使用

2.1 使用徽标

basic demo:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>favico.js study</title>
<!--设置网页标题小图标-->
<link rel="shortcut icon" href="imgs/favicon.png" type="image/x-icon">
</head>
<body> <script type="text/javascript" src="js/favico.js"></script>
<script type="text/javascript"> var favicon=new Favico({
animation:"popFade"
});
//使用徽标
favicon.badge(3); </script>
</body>
</html>

效果:

使用徽标适合用来显示未处理消息数之类的信息,比较智能的是如果传入的数是<=0的话就不会显示徽标。

支持的选项:

属性名 说明 默认值
bgColor 徽标的背景颜色 #d00
textColor 徽标的文本颜色 #fff
fontFamily 徽标使用的文本 sans-serif
fontStyle 徽标的字体样式 bold
type 徽标的形状,可以选择circle或者rectangle circle
position 徽标在整个小图标的定位,可选的有up, down, left, upleft down
animation 徽标显示的动画,可选的有slide, fade, pop, popFade, none slide
elementId 传入一个图像id可以将徽标绑定到图像上,那么标题栏的那个就不会再进行绑定了,某些时候也许会用得到吧 false
element 木研究 false
dataUrl 木研究 false

2.2 使用图像

直接传入一个图像元素,即可动态的设置favicon:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>favico.js study</title>
<!--设置网页标题小图标-->
<link rel="shortcut icon" href="imgs/favicon.png" type="image/x-icon">
</head>
<body> <img id="panda" src="imgs/panda.png" /> <script type="text/javascript" src="js/favico.js"></script>
<script type="text/javascript"> var panda=document.getElementById("panda");
var favicon=new Favico();
favicon.image(panda); </script>
</body>
</html>

2.3 使用视频

使用视频可以绑定一个视频元素video标签,在播放这个视频的时候会将当前video的画面同步到网页图标上。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>favico.js study</title>
<!--设置网页标题小图标-->
<link rel="shortcut icon" href="imgs/favicon.png" type="image/x-icon">
</head>
<body> <video id="fooVideo" controls="controls" src="videos/004_打企鹅-更换背景.mp4">您的浏览器不滋持h5标签</video> <script type="text/javascript" src="js/favico.js"></script>
<script type="text/javascript"> var fooVideo=document.getElementById("fooVideo");
var favicon=new Favico();
favicon.video(fooVideo); </script>
</body>
</html>

效果:

可以使用favicon.video(“stop”); 停掉同步。

2.4 使用摄像头

摄像头坏了….(长的丑不敢露头…o(╯□╰)o)

3. 总结

使用favicon.js可以动态的操作网页图标,可以设置为徽标、图像、视频、摄像头。

一个可能的场景是在播放音乐的时候随着强弱网页图标上显示不同的信号强度,看上去可能会酷一些。

同类产品:

tinycon.js https://github.com/tommoor/tinycon

参考资料:

1. 官网  http://lab.ejci.net/favico.js/

favico.js笔记的更多相关文章

  1. Data Visualization and D3.js 笔记(1)

    课程地址: https://classroom.udacity.com/courses/ud507 什么是数据可视化? 高效传达一个故事/概念,探索数据的pattern 通过颜色.尺寸.形式在视觉上表 ...

  2. js笔记-0

    #js笔记-0 数组: indexOf方法: Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = [10, 20, '30', 'xyz']; arr.indexO ...

  3. PPK谈JS笔记第一弹

    以下内容是读书笔记,再一次温习JS好书:PPK谈JS window.load=initializePageaddEventSimple('window','load',function(){}) lo ...

  4. 面向小白的JS笔记 - #Codecademy#学习笔记

    前言 最初浏览过<JavaScript秘密花园>,前一段时间读过一点点<JavaScript语言精粹>和一点点<JavaScript高级程序设计>(一点点是指都只是 ...

  5. require.js笔记

    笔记参考来源:阮一峰  http://www.ruanyifeng.com/blog/2012/10/javascript_module.html   1. 浏览器端的模块只能采用“异步加载”方式 = ...

  6. JS笔记 入门第四

    小测试: 注意:取消所有的设定可以直接使用 document.getElementById("txt").removeAttribute("style"); 这 ...

  7. JS笔记 入门第二

    输出内容 document.write(); alert("hello!"); alert(mynum); </script> 注:alert弹出消息对话框(包含一个确 ...

  8. Node.js笔记1

    Node.js入门笔记 1. node -help 可以显示帮助信息2. node REPL 模式(Read-eval-print loop) 输入—求值—输出循环 直接在cmd输入node 可以进入 ...

  9. JS笔记 入门第一

    WHY? 一.你知道,为什么JavaScript非常值得我们学习吗? 1. 所有主流浏览器都支持JavaScript. 2. 目前,全世界大部分网页都使用JavaScript. 3. 它可以让网页呈现 ...

随机推荐

  1. FreeMarker(XML模板)导出word

    在项目中使用它完成的功能是按照固定的模板将数据导出到Word.比如台账.在完成后将处理过程按照台账的要求导出,有时程序中需要实现生成标准Word文档,要求能够打印,并且保持页面样式不变. 这个功能就是 ...

  2. Delphi通过ADO链接数据库及对数据库的增加,删除,修改,读取操作实例教程4

    ADO是一种程序对象,用于表示用户数据库中的数据结构和所包含的数据.ADO(ActiveXDataObjects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关 ...

  3. 第86天:HTML5应用程序标签和智能表单

    一.HTML5应用程序标签 1.datalist需要数据载体 input list属性指向数据源 2.progress进度条 -webkit-appearance: none;   /*如果要改默认样 ...

  4. bzoj1007-水平可见直线

    题目 在平面直角坐标系上以\(y=kx+b\)的形式给出\(n (n\le 50000)\)条直线,求从无限高的地方能看到多少条直线. 分析 举几个例子发现我们要求的直线组成一个下凸的形状.所以我们只 ...

  5. 【bzoj1430】小猴打架 Prufer序列

    题目描述 给出 $n$ 个点,每次选择任意一条边,问这样 $n-1$ 次后得到一棵树的方案数是多少. 输入 一个整数N. 输出 一行,方案数mod 9999991. 样例输入 4 样例输出 96 题解 ...

  6. java中的error该不该捕获

    写java程序时,通常会被提示捕获异常,而又有一些异常是不需要强制捕获的,这是一个被说烂了的话题.像我一样从其他语言转过来的人确实有点迷惑,那我以我的理解重新解释一遍吧. 异常的基类是Exceptio ...

  7. Jmeter远程启动负载机

    1.负载机下载Jmeter,设置环境变量,jmeter中进行启动jmeter-server的应用服务.环境变量设置如下: 变量名:JMETER_HOME 变量值:C:\Program Files\ap ...

  8. 【OpenGL】使用FreeType库加载字体并在GL中绘制文字

    FreeType用起来比较麻烦,这里写了一份简单的示例代码,仅供参考. 实现了FT库生成字符位图,并上传到GL纹理. 实现了字符位图缓存功能,多个字符图像保存在同一个纹理中. 实现了简单的字体管理框架 ...

  9. lxm --- ans lb config

    lxm --- ans lb config #ANS2.2 Build 160.006 # Last modified by `save config`, Fri Oct 12 17:15:42 20 ...

  10. TortoiseSVN的基本使用方法

    TotoiseSVN的基本使用方法 来源 https://blog.csdn.net/hecongzhen/article/details/37879801 在 项目管理实践教程一.工欲善其事,必先利 ...