严格来说,应该是如何下载网站图标。至于说有些真彩色图标无法直接显示的问题,那又另当别论,不是本文讨论的重点。
大部分网站会在根目录下面放一个图标文件,文件名约定俗成:favicon.ico
这种情况下直接选择合适的方式下载之后再显示即可。
然而有一些网站却不是这样的,而是在网页代码的head区域用代码指定了图标。
一般代码大致如下:
<link rel="shortcut icon"
href="http://static.tianyaui.com/favicon.ico"
type="image/vnd.microsoft.icon" />
对于这个情况,目前似乎只有IE能显示(当然还包括我的行者无疆浏览器,呵呵)。我想,倒不是因为技术上有多难,而在于用什么方法取得这个被指定的图标绝对地址。
就是如何判断是否存在这个设置,若存在,取出内容。
目前使用的是用getElementsByTagName("HEAD")取得一个IHTMLElementCollection,然后再枚举每个HTMLHeadElement,进而枚举IHTMLDOMNode,最后根据节点名称来判断即可。
不知道是否有更高效、专业的做法?欢迎讨论。