IE7 BUG: favicon.ico 之极度抓狂!及使用favicon.ico的7个建议

  这年头,啥都讲求个性化,你要是没个性,都不好意思跟人打招呼!favicon.ico就是个性化需求的产物之一吧,可是就这么一个小小的“玩意”,却有时候把我们这些搞WEB的人折腾的死去活来555~~下辈子一定不搞WEB了……
  说说我的抓狂经历吧。
  按客户的要求,要把他们公司logo做成可以在IE7地址栏、选项卡、收藏夹这三个地方显示的图标。原本以为这是很小很小的一件事,没想到却大大出乎我的意料。
  首先,怎么制作这个ico格式的图标。主流的做图软件似乎都不支持这种格式,比如PhotoShop,Fireworks,于是箍狗之,找到一大陀图标制作软件,十有八九都是共享软件,没交钱不让另存,终于试出来一个可以用的。因为ICO是多帧的,一个文件里面包含一系列尺寸和颜色深度的图标单元,俺按照windows里面的ICO给它来个大餐,分48*48、32*32、24*24、16*16共4种尺寸和32位色、24位色、256色,总共是12个帧。
  然后,在网页上加代码<link href="http://www.***.com/favicon.ico" rel="shortcut icon">,图标文件和网页都传上去了,刷新试试,很遗憾,IE还是给我一个“e”,关IE重新开,还是“e”,删缓存关IE再重开,还是“e”,我汗了。跑到firefox去试,可以显示图标呀,什么世道啊。于是再箍狗之,有人曰IE的favicon必须是256色或16色的16*16尺寸的ico,于是乎,又重新做了图标,删掉其它尺寸的帧后,ico文件由40多k变成2k了。
  再上传,再刷新,……………………“e”…………我日啊!关IE重新开,还是“e”,删缓存关IE再重开,还是“e”,我汗了。
  现在,到底是IE的问题,还是图标的问题,还是网页的问题?
  网页在Firefox下能正常显示图标,我就很怀疑是不是IE设置的问题,俺看到收藏夹里面有几个收藏项是有图标的,可是也有好些有图标的网站它也不显示图标,摆渡熊掌能显示,新浪眼睛就不显示,搞什么飞机嘛。
  俺把IE7的安全选项、加载项一条一条看过去,没有什么可疑的。后来想想,在高级选项里面看看吧,终于发现一个看似很相关的选项“使用个性化收藏夹”,记忆中,这个选项的功能是把不常用的收藏夹项目隐藏起来,不过也许跟图标问题有关,给它启用吧。这么折腾一下,然后删缓存重启IE,新浪眼睛也可以出来了,可是俺的网站还是“e”!
  那再看看是不是我制作的图标的问题呢?
  我把新浪的眼睛放到我的站点上,刷新,“e”!看来,不是图标的问题。
  那就是说,网页很可疑了喔!
  网页代码仔细看看,比较了网易和新浪的代码之后,我猜是不是因为那个神秘的DOCTYPE在作怪呢?
  于是乎,改DOCTYPE,什么<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">,<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">,……,试了好几个还是不顶用。
  再箍狗,没找到什么有建设性的发现。
  再摆渡,也失望而归。
  俺想,估计老外比较有路子,那就上英文雅虎和英文箍狗搜吧,搜IE7,favicon,密密麻麻的E文,经过一翻努力,最终也没有找到能解决问题的路子,老外们也在犯愁呢。
  再瞪大眼睛仔细看代码,发现一个差异,那就是俺的LINK后面是>而不是 />,莫非是这个原因?加上再试,还是不显示啊,我日我日我日啊!!!

  为什么无论改哪一种firefox都能显示,IE就不给face呢?

  夜深了,睡觉,不管了。
  早上醒了,太阳老高了,肚子有点儿饿,宿舍没东西吃,物质粮食没有,只能加强精神粮食啦,那还用说,开机上网呗。
  打开IE,啥?!俺揉了揉眼睛,没错,那个那个梦寐以求的图标,赫然就在链接栏上显示着么!(为了便于打开,将它收藏在链接栏上了)……好晕啊!为什么昨天不显示??难道网页这么个改动还要重启我的电脑?

  其实网上也有很多人提问说IE6里面显示的个性化收藏夹图标在升级到IE7后显示不了了。

  虽然问题解决了,但是我还是很恼火!很窝火!
  经过此次的教训,总结出favicon.ico的几个穴位:
  ①IE7高级选项“使用个性化收藏夹”要启用。
  ②图标要256色或16色的16*16尺寸ico文件。
  ③<link href="http://www.***.com/favicon.ico" rel="shortcut icon" />这个后面要斜杠关闭,无论你是否使用了不严格的DOCTYPE。
  ④IE要删缓存。
  ⑤刷新。加收藏。
  ⑥经过以上5步,运气好就成了,多数情况这个时候还是不显示图标,那就再来一步,重启IE。
  ⑦如果你很倒霉,以上6步都还不成,那就重启电脑吧。

  这样7步之后,一般就可以显示那个图标了。
  啥,如果还不显示,那……………………估计是很严重的RPWT!

   本人这次经历了:汗、再汗、狂汗、阿富汗、成吉思汗等不同抓狂阶段,希望大家比我好运!

你可能感兴趣的:(icon)