favicon不在IE中工作

时间:2008-09-23 16:19:24

标签: internet-explorer favicon

我有一个使用自定义favicon.ico的网站。在IE以外的所有浏览器中,favicon都会按预期显示。当试图在IE中显示图标时,我得到了大红色x;当在另一个浏览器中显示favicon时,它显示正常。页面源包括  它确实可以在其他浏览器中使用。谢谢你的想法。

编辑:已解决:问题的根源是该文件是jpg重命名为ico。我创建了一个ico文件,它按预期工作。感谢您的意见。

21 个答案:

答案 0 :(得分:59)

对,你没有那么有用(提供源会非常有用!)但是你去了......有些事要检查:

代码是这样的:

<link rel="icon" href="http://www.example.com/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="http://www.example.com/favicon.ico" type="image/x-icon" />

是否在<head>

图片是真正的 ico文件吗? (重命名位图不是真正的.ico!格式不同的格式)

将页面添加为书签时是否有效?

答案 1 :(得分:22)

在IE和FireFox中,仅在网站访问的第一页上请求favicon.ico,这意味着如果favicon.ico需要登录(例如您的网站是封闭网站并且需要登录)然后该图标将不会显示。

解决方案是为favicon.ico添加一个例外,例如在web.config中添加的ASP.Net中:

<location path="favicon.ico">
  <system.web>
     <authorization>
       <allow users="*" />
     </authorization>
  </system.web>
</location> 

答案 2 :(得分:10)

 <link rel="shortcut icon" type="image/x-icon" href="FolderName/favicon.ico" />
  1. 您的favicon.ico必须放在 head 标记
  2. 之间
  3. 尺寸:16 X 16
  4. ,对于Internet Explorer,它必须是透明的(外部白色部分不可见)

答案 3 :(得分:7)

任何人都应该回答这个问题:

同样的问题:在IE(包括IE 10)中无效,在其他地方工作。

原来该文件不是“真正的”.ico文件。我通过将其上传到http://www.favicon.cc/并再次下载来解决此问题。

首先,我通过在此网站上生成一个随机.ico文件并使用该文件而不是原始文件来测试它。看到它有效。

答案 4 :(得分:4)

您是否尝试将图标放在URI“/favicon.ico”上? IE可能不知道引用它的链接标记方式。

更多信息from W3

答案 5 :(得分:4)

如果您尝试了以上所有内容并且仍然无法在IE中运行,请检查您的IIS设置(如果您使用的是Windows Server)。 确保HTTP标头&gt; “启用内容过期”设置,未设置为“立即过期”

答案 6 :(得分:4)

我知道这是一个非常古老的主题,但由于它是我在谷歌搜索中出现的第一个,我只是想添加我的解决方案:

我遇到了这个问题以及客户端提供的图标。它显示在除IE之外的所有浏览器中。添加linkmeta代码无效,因此我开始查看图标文件的格式。
它似乎是一个有效的图标文件(不只是一个重命名的图像),但最终修复它的是将其转换为图像,将其另存为GIF,然后将其转换回图标
还要确保在测试时清除IE缓存。

答案 7 :(得分:2)

我有这个确切的问题,似乎没有任何效果。在无数次清除浏览器缓存并甚至将IE更新为v9之后,我发现了这个:http://favicon.htmlkit.com/favicon/

以上链接完全解决了我的问题!

答案 8 :(得分:1)

上述解决方案均不适合我。

首先,我确保图标的格式正确,使用网站创建上面建议的图标。

然后我将'favicon.ico'中的图标重命名为'myicon.ico'并将以下代码添加到我的页面(<head>标记内):

<link rel="shortcut icon" href="myicon.ico" type="image/x-icon" />

图标与页面位于同一文件夹中。

这解决了我的问题。幕后问题可能与IE的缓存有关,但我不确定。

答案 9 :(得分:0)

可能会帮助别人。

对我来说,即使遵循了所有步骤,ICON也没有在IE中显示。

最后,我在MSDN Troubleshooting Shortcut Icons中找到了一条说明。

  

验证Internet Explorer是否可以在中存储快捷方式图标   Temporary Internet Files文件夹。如果已将Internet Explorer设置为   不保留缓存,然后它将无法存储图标和意志   改为显示默认的Internet Explorer快捷方式图标。

我在“私人”模式下使用IE,一旦我在正常模式下验证.... Fav图标显示正确。

答案 10 :(得分:0)

尝试类似的东西:

添加到html:

  <link id="shortcutIcon" rel="shortcut icon" type="image/x-icon">
  <link id="icon" rel="icon" type="image/x-icon">

在标签后添加缩小的脚本:

<script type="text/javascript">
(function(b,c,d,a){a=c+d+b,document.getElementById('shortcutIcon').href=a,document.getElementById('icon').href=a;}(Math.random()*100,(document.querySelector('base')||{}).href,'/assets/images/favicon.ico?v='));
</script>

其中

  • '/ assets / images / favicon.ico'到.ico的相关路径
  • ?v ='Math.random()* 100'-强制浏览器更新favicon.ico

在测试清除历史记录之前:(ctr + shfit + del)

答案 11 :(得分:0)

此工作对我来说是跨浏览器(IE11,EDGE,CHROME,FIREFOX,OPERA),请使用https://www.icoconverter.com/创建.ico文件

<link data-senna-track="temporary" href="${favicon_url}" rel="Shortcut Icon" />
<link rel="icon" href="${favicon_url}" type="image/x-icon" />
<link rel="shortcut icon" href="${favicon_url}" type="image/x-icon" />

答案 12 :(得分:0)

我在Windows 10和Windows Server 2016之间以及IE和Edge之间看到了不同的行为。我使用www.microsoft.com进行了测试。

Windows Server 2016 IE 11:
收藏夹:网站图标
地址栏:站点图标
浏览器选项卡:站点图标

Windows 10 IE 11:
收藏夹:网站图标
地址栏:通用蓝色-E图标
浏览器选项卡:通用蓝色-E图标

Windows 10 Edge:
收藏夹:网站图标
地址栏:无图标
浏览器选项卡:站点图标

显示通用图标的Windows 10 IE的处理是什么?

答案 13 :(得分:0)

此外 - 证书错误(https)可能会阻止显示图标。安全团队改变了我们的服务器设置,我开始得到&#34;这个网站的安全证书存在问题。&#34;点击&#34;继续浏览此网站(不推荐)。&#34;带我去了网站,但没有显示图标。

答案 14 :(得分:0)

以管理员身份运行Internet Explorer。如果在正常模式下打开IE,则IE 11(Win 7)上不会显示favicon。我不确定其他版本浏览器的行为。

答案 15 :(得分:0)

检查您的favicon的响应标头。它们不得包含&#34; Cache-Control:no-cache&#34;。

您可以使用以下命令从命令行进行检查:

curl -I http://example.com/favicon.ico

wget --server-response --spider http://example.com/favicon.ico

(或使用一些其他工具来显示响应标题)

如果你看到&#34; Cache-Control:no-cache&#34;在那里,调整您的服务器配置,以从favicon响应中删除该标头或设置max-age。

答案 16 :(得分:0)

关于与IE9的不兼容性,我遇到了this博文,其中提供了创建IE9识别的图标的提示。

从本质上讲,尝试使用以下网站创建图标:http://www.xiconeditor.com/

答案 17 :(得分:0)

感谢您的帮助。我尝试了不同的选项,但下面的选项对我有用。

<link rel="shortcut icon" href="/favicon.ico" >
<link rel="icon" type="/image/ico"  href="/favicon.ico" >

我在页面的标题中添加了以上两行,并且它适用于所有浏览器。

由于

答案 18 :(得分:0)

解决方案:

  • 我通过简单地将图像的扩展名从png更改为ico,从现有的png文件创建了一个图标。我使用drupal 7 bartik主题,所以我将快捷方式图标上传到服务器,它适用于Chrome和Firefox但不适用于IE。此外,桌面上的图像图标为空白。

  • 然后我接受了一些人的建议,并使用图像编辑器将图像的大小缩小到32x32像素(gimp 2&lt;&lt;

  • 我以与之前相同的方式上传了图标,并且适用于所有浏览器。

我爱你们stackoverflow,你帮我解决了很多问题。谢谢!

答案 19 :(得分:0)

我曾经使用过PNG作为favicon.ico,它在IE以外的所有浏览器中显示。也许文件中的某些内容会导致IE无法识别。还要确保它是32x32。不知道是否重要。但是,为了在IE中看到它,我必须确保这一点。

希望它有所帮助。尝试使用来自其他地方的ico文件,看看是否有效。

答案 20 :(得分:0)

小心分享网址?许多浏览器以(例如)png格式处理favicon,而IE经常遇到麻烦。 - 旧的IE版本也没有检查html源的favicon位置,但只是一心想尝试从网络服务器获取“/favicon.ico”。