工具 04 · P1
Favicon 检查器
输入一个 URL,就能看到已覆盖的图标尺寸、哪些声明是坏的,以及每个文件背后的真实尺寸——包括那些看着对、其实不对的。
最多探测 8 个图标地址(经由 http://localhost:8080),并从文件字节里读出真实像素尺寸, 揪出声明与实际不符的尺寸。
评分
—
—
最终 URL
图标位覆盖
已探测资源
Web app manifest
待修复项
怎么用
- 01
粘贴页面 URL
任何公开页面都行。检查器会读取该页面里的图标声明,然后逐一探测找到的每个地址,以及约定的默认路径。
- 02
查看覆盖网格
共检查七个档位:16、32、48、180(Apple touch)、192 和 512(PWA),再加一个矢量 SVG。每个格子都会链回满足它的文件。
- 03
从上往下修
先处理 error:站点完全没有可访问的图标是最糟的情况。接着再逐项解决缺失的尺寸和 manifest 警告。
最多 8 个图标地址经由 Go 服务探测,浏览器才能读取跨域响应头和字节。私有和保留地址会被拒绝。
常见问题
▸ 它到底检查什么?
它会抓取页面,提取每一条图标声明,然后逐一探测,外加 /favicon.ico、/apple-touch-icon.png 和 /apple-touch-icon-precomposed.png。对每个地址记录 HTTP 状态码、内容类型、字节大小,以及从文件字节里读出的真实像素尺寸。如果声明了 manifest,也会一并抓取解析。
▸ 为什么要读真实尺寸,而不是声明的 sizes 属性?
因为 sizes 属性是开发者手写的文本,经常是错的——文件名写着 icon-32x32.png,实际却是 512×512,或者 PNG 根本不是正方形。读取 PNG 的 IHDR 块或 ICO 的目录表才能得到真相,也就是浏览器实际会渲染的结果。
▸ 我已经声明了 PNG 图标,为什么还标出 /favicon.ico?
因为它是零配置的默认值。没有任何声明时,或者它们不解析 link 标签时,浏览器、feed 阅读器和各类爬虫都会请求 /favicon.ico。在根目录放一个多尺寸 ICO,只多一次很小的请求,却能消掉一整类图标损坏的反馈。
▸ 为什么我的站点检查失败了?
常见原因:域名解析到私有或保留地址而被刻意拦截、页面返回非 HTML 的内容类型、服务器响应超过超时时间,或站点用 403 拒绝未知爬虫。较慢的站点还会产生部分结果——未能及时响应的资源会标出原因。
▸ 我提交的 URL 会被存储吗?
不会。页面和最多 8 个图标地址只抓取一次,在内存中检查后丢弃,不写入磁盘,请求按 IP 限流。