21

我已经按照这些线在 Content 文件夹(而不是根目录)中设置了我的 ASP.NET MVC 应用程序。这很好用,图标显示在所有浏览器中。

但是,当我安装 ELMAH 时,我开始看到 404 错误,因为显然我网站的根目录仍在请求图标图标!我很想知道为什么会发生这种情况以及是谁在这样做。假设我的浏览器导致了这种情况,我打开了开发人员工具栏,这就是我发现的:

谷歌浏览器:
Chrome 中的开发人员工具栏、网络选项卡

互联网浏览器 9:
IE9 中的开发工具栏、网络选项卡

火狐:
Firefox 中的开发人员工具栏、网络选项卡

所有这些都显示了 9 个类似的请求,但没有一个显示 favicon.ico 请求……根本没有我希望至少有一个(我在浏览器中看到的 Content 文件夹中的那个),甚至两个(也是在 ELMAH 中给我 404 的那个)。

所以,我的问题:谁能解释为什么开发人员工具栏通常不显示图标请求?这可以以某种方式打开或在某处看到吗?

4

1 回答 1

31

默认情况下,所有浏览器/favicon.ico都会在地址栏、选项卡、书签等中使用它。这只是一种约定(W3C 不喜欢它)。

使用 Chrome,您可以在此处看到此请求:chrome://net-internals/#events.

网络内部事件面板

<link rel="shortcut icon" href="http://test.com/myicon.ico" />您可以使用该部分中的 HTML 标记覆盖该图标<head>。这似乎阻止了 Chrome 检查默认位置。但是,即使设置了此标记,Chrome DevTools 也不会显示favicon.ico为在页面加载期间下载的资源。造成这种情况的原因可能是网站没有使用 favicon,它是由浏览器使用的。浏览器出于自己的目的请求它。

[编辑]有一个打开的 Chrome问题favicon.ico将网络面板中的 缺失分类为错误。[编辑]它也是 Firebug 中的一个错误

于 2012-12-19T21:42:29.380 回答