首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我怎样才能得到一个网站的收藏图标?

我怎样才能得到一个网站的收藏图标?
EN

Stack Overflow用户
提问于 2011-02-25 23:25:39
回答 10查看 201.6K关注 0票数 144

问题很简单:我已经创建了一个小应用程序,它基本上只是我系统托盘中的一个收藏,这样我就可以从同一位置打开经常使用的站点/文件夹/文件。从我的系统中获取已知文件类型的默认图标并不是很复杂,但我不知道如何从网站中获取收藏图标。(例如,地址栏中的灰色->橙色堆栈图标也是如此)

有人知道我会怎么做吗?

EN

回答 10

Stack Overflow用户

发布于 2014-02-19 09:24:11

Stack Overflow用户

发布于 2011-02-25 23:31:18

首先要查找的是站点根目录中的/favicon.ico;像WebClient.DownloadFile()这样的内容就可以了。但是,您也可以在元数据中设置图标,因此如下所示:

代码语言:javascript
复制
<link rel="shortcut icon"
   href="http://sstatic.net/stackoverflow/img/favicon.ico">

请注意,替代图标可能是可用的;“触摸”图标往往更大、分辨率更高,例如:

代码语言:javascript
复制
<link rel="apple-touch-icon"
   href="http://sstatic.net/stackoverflow/img/apple-touch-icon.png">

因此,您可以在HTML Agility Pack或XmlDocument (如果是xhtml)中解析它,并使用WebClient.DownloadFile()

下面是我用来通过敏捷包获得的一些代码:

代码语言:javascript
复制
var favicon = "/favicon.ico";
var el=root.SelectSingleNode("/html/head/link[@rel='shortcut icon' and @href]");
if (el != null) favicon = el.Attributes["href"].Value;

注意这个图标是他们的,不是你的。

票数 7
EN

Stack Overflow用户

发布于 2016-02-11 08:51:38

最大限度地减少每个页面所需的请求数量是一个很好的实践。因此,如果您需要多个图标,yandex可以在一个查询中创建多个图标。下面是一个http://favicon.yandex.net/favicon/google.com/stackoverflow.com/yandex.net/示例

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5119041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档