使用JS获取网站的favicon

hsz*_*hsz 36 javascript favicon

我想知道是否可以通过URL获取网站的favicon JavaScript.

例如,我有一个URL http://www.bbc.co.uk/,我想获得<link rel="icon" .../>meta标签中描述的favicon的路径- http://www.bbc.co.uk/favicon.ico.

我有很多网址,所以我不应该加载每个页面并搜索link标签.

有任何想法吗 ?

Blo*_*sie 50

这里有两个工作选项,我测试了超过100个网址,并得到了不同的结果,每个选项.请注意,此解决方案不是JS,但JS可能没有必要.

<!-- Free --> 
<img height="16" width="16" src='http://www.google.com/s2/favicons?domain=www.edocuments.co.uk' />
<!-- Paid -->
<img height="16" width="16" src='http://grabicon.com/edocuments.co.uk' />
Run Code Online (Sandbox Code Playgroud)

  • 仅供参考,Grabicon是一项付费(免费试用)服务. (3认同)
  • 嗨,我是Grabicon的创造者.实际上,不可能保持其可靠性,可用性和免费/免费增值.它现在使用免费试用模型.从好的方面来看,它现在稳定而且无处可去. (3认同)

hsz*_*hsz 21

突然间,我发现了一个名为的东西Google Shared Stuff,它通过主机名返回网站的favicon图像:

http://www.google.com/s2/favicons?domain=www.domain.com
Run Code Online (Sandbox Code Playgroud)

但是对于BBC网站来说,它返回的图标有点小.相比:

http://www.google.com/s2/favicons?domain=www.bbc.co.uk
http://www.bbc.co.uk/favicon.ico

  • 截至2014年11月17日,此解决方案仍在运行 (3认同)

NVI*_*NVI 16

您可以使用YQL

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D"http://bbc.co.uk/"and%20xpath%3D"/html/head/link[@rel%3D'icon']%20|%20/html/head/link[@rel%3D'ICON']%20|%20/html/head/link[@rel%3D'shortcut%20icon']%20|%20/html/head/link[@rel%3D'SHORTCUT%20ICON']"&format=json&callback=grab

显示Feed Favicons Greasemonkey脚本使用此查询.

您可以在YQL控制台中编写查询,但需要登录(顺便说一下,使用查询不需要):

http://developer.yahoo.com/yql/console/#h=select%20*%20from%20html%20where%20url%3D%22http%3A//bbc.co.uk/%22and%20xpath%3D%22/html/head/link%5B@rel%3D%27icon%27%5D%20%7C%20/html/head/link%5B@rel%3D%27ICON%27%5D%20%7C%20/html/head/link%5B@rel%3D%27shortcut%20icon%27%5D%20%7C%20/html/head/link%5B@rel%3D%27SHORTCUT%20ICON%27%5D%22

它优于http://www.google.com/s2/favicons?domain=www.domain.com ,如果存在favicon,但不在domain.com/favicon.ico中

  • GitHub 还提供了自己的 favicon 服务 =&gt; [`favicons.githubusercontent.com/domain.com`](https://favicons.githubusercontent.com/domain.com) (5认同)