博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义地址栏与收藏夹中的图标
阅读量:2239 次
发布时间:2019-05-09

本文共 2566 字,大约阅读时间需要 8 分钟。

关于Favicon

favicon 在英文中有几个别名,叫做 shortcut icon,website icon,tab icon,URL icon,bookmark icon,对应中文来说也叫作网页小图标、网站缩略图或收藏夹图标、书签图标。这实际上就是与某个网站或地址关联的图标文件。如果网站上传了这个图标文件,用户使用浏览器(仅限于支持这个功能的浏览器)浏览时,就可以把图标显示在浏览器的地址栏中(有时也会显示在历史记录中),如果添加了收藏则收藏夹中也可以看到图标。现在支持标签页的浏览器,会将图标显示在标签上。对于移动终端,如果在系统中建立了网站的快捷方式,则可以使用图标来作为系统桌面的图标。

Favicon的历史

1999年三月,微软发布了Internet Explorer 5,是首款支持 favicon 的浏览器。最初,favicon 就是一个放在网站根目录下的名为 favicon.ico 的文件。主要使用在 Internet Explorer 的收藏夹中,如果网站被添加到收藏夹中,那么在地址栏中也会被显示出来。这么做还有一个用意就是统计有多少用户收藏了这个网站(可以在日志中看 favicon 请求的次数)。现代浏览器则不管用户是否收藏该网站,都会把图标显示在地址栏或页签中。参考资料中 有关于 Favicon 产生之初的有趣故事,大家可以看一看。

在HTML 4.01(1999年)中将favicon定为标准,并且在稍后2000年1月份定为 XHTML 1.0的标准。与IE中限制了存放位置和文件类型不同,标准仅是规定了应当使用一个带有 rel 属性的链接元素在 head 区域指定favicon的文件和类型。

2003年,.ico 被第三方组织 注册在 MIME type image/vnd.microsoft.icon 中。

,在2010年的HTML5标准中,明确了 rel="icon"的使用方法。<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" /> 这种流行的用法明确了两个关系,一个作为 shortcut 快捷图标和 icon 图标。但是 shortcut 并非标准。在2011年的HTML标准中对此进行了解释

使用方法及浏览器支持

基本的 favicon 使用方法如下:

<link rel="shortcut icon" href="http://example.com/myicon.ico" />

也可以使用其他类型的文件格式,这需要对应的浏览器支持。如下:

<link rel="icon" type="image/png" href="http://example.com/myicon.ico" />

浏览器对于图片格式的支持

浏览器 ico png gif jpeg
Edge 支持 支持 支持
Firefox 支持 支持 支持 支持
Chrome 支持 支持 支持 支持
IE >5.0 >11.0 >11.0 不支持
Safari 支持 支持 支持 支持

设备支持

对于使用iOS的苹果(Apple)设备,以及部分安卓(Android)设备,可以使用 添加到主屏幕 Add to Home Screen(Web Clip) 功能在手机的主屏幕上添加一个自定义的图标。这个功能通过以下代码实现 <link rel="apple-touch-icon" ... > 。如果对应的 ico 文件没有找到,则会将网页的截屏显示在桌面上。图标的推荐尺寸随着显示设备的分辨率越来越高,已经从6060主键增加到了256256,对于iPad上的图标尺寸,也从7676一直增加。现在,移动端平台变得越来越庞杂,例如 Google TV 使用 9696 的尺寸、Chrome 网上商店需要 128*128 的图标。所以在定制尺寸的时候,我们需要考虑到底要支持哪些平台。

下面的声明就考虑了iPhone的不同版本:

iOS系统会对icon文件进行优化,增加圆角、阴影,如果不希望系统做这些优化,则可以使用 <link rel="apple-touch-icon-precomposed" href="somepath/image.png" />

HTML5 规范

现在的HTML5规范推荐为图标指定不同的尺寸,使用方法为 rel="icon" sizes="空格分割的图标尺寸"。通过 type="file content-type"也可以指定多种文件类型,包括微软的 .ico 以及苹果的 .icns

动画图标

目前有Chrome、Firefox、Opera支持动画图标。

遭受的批评

由于总是需要到一个固定位置查找文件,favicon 有时会导致奇怪的页面加载缓慢问题以及日志中不必要的404错误。W3C并没有对rel属性进行标准化,所以诸如shortcut icon等关键词仍然被浏览器接收。

Favicons 经常会在针对HTTPS网站的 网络钓鱼(phishing) 或者 网络窃听(eavesdropping) 攻击中被使用。许多浏览器都会将 favicons 显示在浏览器地址栏的左边,而这里经常是用来显示在 HTTPS 网站的证书是否可信,通过使用一个类似的图片来欺骗用户让用户认为这是一个可信站点。一些如 SSLStrip 的中间人攻击工具也使用这种伎俩。为了识别这种伎俩,有的浏览器在Tab页签中显示 favicon ,在地址栏的最左边显示协议的安全状态。

在线制作的工具

鉴于所有浏览器都对 ico 支持良好,所以目前大部分的 favicon 还都是 ico 格式的。但是它的局限性越来越明显,对于新的浏览器而言,现在都倾向于用 png 图片。不管怎么样,如果想手工制作出满足这么多平台的图标来非常费时间,但是通过 网站,我们只需要上传一个至少70*70尺寸的图片上去,就可以生成种类丰富的图标。

参考资料:

转载于:https://www.cnblogs.com/cocowool/p/6422578.html

你可能感兴趣的文章
为什么要用交叉验证
查看>>
用学习曲线 learning curve 来判别过拟合问题
查看>>
用验证曲线 validation curve 选择超参数
查看>>
用 Grid Search 对 SVM 进行调参
查看>>
用 Pipeline 将训练集参数重复应用到测试集
查看>>
PCA 的数学原理和可视化效果
查看>>
机器学习中常用评估指标汇总
查看>>
什么是 ROC AUC
查看>>
Bagging 简述
查看>>
详解 Stacking 的 python 实现
查看>>
简述极大似然估计
查看>>
用线性判别分析 LDA 降维
查看>>
用 Doc2Vec 得到文档/段落/句子的向量表达
查看>>
使聊天机器人具有个性
查看>>
使聊天机器人的对话更有营养
查看>>
一个 tflearn 情感分析小例子
查看>>
attention 机制入门
查看>>
手把手用 IntelliJ IDEA 和 SBT 创建 scala 项目
查看>>
GAN 的 keras 实现
查看>>
AI 在 marketing 上的应用
查看>>