道北吴彦祖 2011-03-04
apple-touch-icon 可以了解到这是一个类似网站favicon的图标文件,用来在iphone和ipod上创建快捷键时使用。
这个文件应当是png格式,57x57像素大小,放在网站根目录之下。如果准备的文件不是57x57的话,它会自己缩放的。
在页面的head部分,用下面的格式表示。
<link rel="apple-touch-icon" href="/apple-touch-icon.png"/>
语句一:<link rel="shortcut icon" href="favicon.ico" />
语句二<linkrel="icon"href="animated_favicon.gif"type="image/gif"/>
备注:语句一ShortcutIcon就是在网址列前面出现的Icon
问题:语句二icon的作用是怎么?和语句一有什么区别?
指导
过去,为保证favicon出现,网站设计者和开发者采用了多种方法。很难明确地保证favicon可以在所有电脑上显示,即使是用同一版本的一种浏览器。
下列代码另一个局限就是它把favicon关联到了某个特定的HTML或XHTML文档上。为避免这一点,favicon.ico文件应置于根目录下。多数浏览器将自动检测并使用它。
建议包含以下两行HTML代码:
CO<linkrel="shortcuticon"href="http://example.com/favicon.ico"type="image/vnd.microsoft.icon">
<linkrel="icon"href="http://example.com/favicon.ico"type="image/vnd.microsoft.icon">
然而,只有第一行是必须的,因为“shortcuticon”字符串将被多数遵守标准的浏览器识别为列出可能的关键词(“shortcut”将被忽略,而仅适用“icon”);而InternetExplorer将会把它作为一个单独的名称(“shortcuticon”)。这样做的结果是所有浏览器都可以理解此代码。只有当希望为新浏览器提供另一种备用图像(例如动画GIF)时,才有必要添加第二行。
在HTML中,link元件必须在head元件里(在<head>和</head>之间)。
对于XHTML,link必须使用“/>”结束(或“></link>”),而不可以使用“>”结束。
href可以,但不必,指向/favicon.ico的位置。它可以指向任何URL。
图像通常可以使用任何被浏览器支持的图像格式。
.ico文件格式通常可以被所有可以显示favicon的浏览器读取。
设置服务器,以发送正确的MIME标识:
ICO文件image/vnd.microsoft.icon(或者亦可出于兼容性原因使用image/x-icon。然而最好使用IANA注册的MIME类型,因为多数主流浏览器现在支持它)
GIF文件image/gif
PNG文件image/png
使用适当的分辨率和色深。
ICO:包括多种分辨率(最常使用的是16×16和32×32,MacOSX有时使用64×64和128×128)以及位深(比特每像素)(多数使用4、8、24bpp,即16、256和1600万色)。
GIF:使用16×16,256色。
PNG:使用16×16,256色或24位。
注意:当favicon.ico被置于文档根目录时,将会被一些不处理link元件的浏览器找到,即使没有您的站点上没有指向它的链接。
标准化
Favicon功能最早由微软创设,而微软公司的InternetExplorer网页浏览器会对每一个网站都请求favicon。微软支持的link标签不遵从WorldWideWebConsortium(W3C,万维网联盟)的HTML建议[1],因为:
rel属性必须包含一个用空格作分隔符的link类型的列表,所以一个包含两词的link类型不能被遵守标准的浏览器理解。
“.ico”文件类型(一种用于MicrosoftWindows上图标的光栅格式)没有一个注册的MIME类型,而且似乎在当时也不能被多数浏览器理解。然而2003年,这一格式在IANA获得注册,其MIME类型是image/vnd.microsoft.icon,进而消除了此问题的第一部分。
在网站上使用保留地址(reservedlocation)与ArchitectureoftheWorldWideWeb(互联网的结构)矛盾,同时被认为是linksquatting(链接劫持)或URIsquatting(URI劫持)。
Mozilla浏览器通过一种遵从Web标准的方法添加了对favicon的支持。它采用rel="icon"并允许网络设计人员添加任何支持的图像格式的favicon。例如<link rel="icon" type="image/png"href="/path/image.png">。后来鉴于此功能将被用于所有新内容,多数浏览器都对此功能增加了支持。