13

我知道有一个解决方案可以阻止 mvc 框架处理“favicon.ico”请求(解决方案),但我不知道为什么它首先要寻找这个图标。

我使用“文件”>“整个解决方案”中的“查找”进行搜索favicon.ico,但没有找到任何内容。

我在网站的html源代码中搜索favicon.ico,没有找到任何东西。

它在哪里?为什么浏览器试图为它服务?

4

4 回答 4

12

favicon.ico 是一种约定- 但它是浏览器获取链接、选项卡等图像的一种方式:

在此处输入图像描述

请注意,现在,图像位置也可以在元数据中设置(这很方便,因为它允许图像是按页面而不是按域,和/或允许从不同的位置提供图像,例如 CDN ):

<link rel="shortcut icon" href="//cdn.sstatic.net/stackoverflow/img/favicon.ico">
<link rel="apple-touch-icon image_src" href="//cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png">

但是,“/favicon.ico”是后备的,并且被许多旧浏览器使用 - 或者没有指定明确的快捷方式图标。

基本上:去创造一个。

于 2013-10-29T08:38:58.043 回答
5

你最好有一个,因为它是大多数浏览器的标准来寻找 favicon.ico 但是如果你真的不想拥有它并摆脱错误,只需在 RegisterRoutes 类中添加这一行。

routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
于 2013-10-29T08:52:20.437 回答
1

默认情况下,某些浏览器只会在您网站的根目录中查找 favicon.ico。
我认为阻止浏览器查找此文件的最简单方法是提供一次图像,然后浏览器将缓存它并停止询问。

于 2013-10-29T08:36:26.697 回答
0

浏览器要求将其设置为页面的图标,位于标题旁边(在标题栏、选项卡、书签菜单中)。

于 2013-10-29T08:36:15.923 回答