通常情况下,做网站的都会给自己的网站添加一个Icon,浏览器上一长排的标签页,用Icon来区分就显得更加醒目。现在想找一个没有Icon的网站并不好找,可见没有Icon的网站是多么的业余啊。"什么?你问Icon是什么?你走吧,这是讨论技术的地方!"
想知道如何获取Icon,就要弄明白怎样设置Icon。先讨论一下设置Icon,再介绍获取Icon,并提供相应Java代码以供参考。
一. 设置网站Icon
设置Icon有两种方式:
1. 看一下我们专业的博客园,看到灰色部分了吗,在head标签中有个link标签,将rel设置为"shortcut icon",href 设置为Icon的位置,type设置成实际图标类型就OK了。这个Icon文件不是必须以favicon.ico命名,也可以选择png等其他格式的图片。
2. 如果用第一种方式,每个页面都要写link,是不是挺麻烦的,可能会用模板之类的东西自动生成,这个我不懂啦。如果浏览器发现html中没有写明Icon位置,就自动到网站根目录下尝试读取favicon.ico文件。再看一下我们专业的博客园,看到了吗,Icon显示出来了。注意:根目录下的文件就必须以favicon.ico命名了。考虑到浏览器兼容性,大部分的网站除了在html中指定Icon的位置,同时也会在网站根目录下存放Icon文件。
二. 获取网站Icon
知道怎么设置Icon,获取Icon就很简单了。解析html相对来说比较麻烦,可以直接到网站根目录下尝试读取favicon.ico。如果没有,再解析html(话说我试了很多常用网站,都可以从根目录下读取,想找个根目录下不存放Icon的网站还真不容易,这时我想到了12306,试了一下果然没有啊,事情并没有想象的那么简单,12306会奇葩到你想不到,后边再说)。思路就是这样,很简单,但是在实现的过程中会有很多细节问题。
1.域名 +favicon.ico 通常能满足
2.域名 +目录 +favicon.ico 大部分也能满足
3.通过api获取
4.实在没有返回一个默认的
给大家分享api
http://tool.bitefu.net/ico/?url=https://www.baidu.com
http://tool.bitefu.net/ico/?url=https://www.baidu.com&type=1 [直接返回base64编码的图片信息]
源码下载:http://fourpan.com/fs/8xiaaoagg6vi8p6577/
再分享给大家几个api 都非常好用.
http://api.byi.pw/favicon/?url=
http://cdn.website.h.qhimg.com/index.php?domain=