问题很简单:我已经创建了一个小应用程序,它基本上只是我系统托盘中的一个收藏,这样我就可以从同一位置打开经常使用的站点/文件夹/文件。从我的系统中获取已知文件类型的默认图标并不是很复杂,但我不知道如何从网站中获取收藏图标。(例如,地址栏中的灰色->橙色堆栈图标也是如此)
有人知道我会怎么做吗?
发布于 2014-02-19 09:24:11
发布于 2011-02-25 23:31:18
首先要查找的是站点根目录中的/favicon.ico;像WebClient.DownloadFile()这样的内容就可以了。但是,您也可以在元数据中设置图标,因此如下所示:
<link rel="shortcut icon"
href="http://sstatic.net/stackoverflow/img/favicon.ico">
请注意,替代图标可能是可用的;“触摸”图标往往更大、分辨率更高,例如:
<link rel="apple-touch-icon"
href="http://sstatic.net/stackoverflow/img/apple-touch-icon.png">
因此,您可以在HTML Agility Pack或XmlDocument (如果是xhtml)中解析它,并使用WebClient.DownloadFile()
下面是我用来通过敏捷包获得的一些代码:
var favicon = "/favicon.ico";
var el=root.SelectSingleNode("/html/head/link[@rel='shortcut icon' and @href]");
if (el != null) favicon = el.Attributes["href"].Value;
注意这个图标是他们的,不是你的。
发布于 2016-02-11 08:51:38
最大限度地减少每个页面所需的请求数量是一个很好的实践。因此,如果您需要多个图标,yandex可以在一个查询中创建多个图标。下面是一个http://favicon.yandex.net/favicon/google.com/stackoverflow.com/yandex.net/示例
https://stackoverflow.com/questions/5119041
复制相似问题