咨询:未在header指定favicon时,https://www.fertoret.fr/的图标来源
你提到检查网站header没找到favicon的指定,但网站依然有favicon显示,这大概率是以下几种情况之一,其中有些是你可能没留意到的特性:
浏览器默认自动请求行为:这是最传统也最常见的情况——即使页面header里没有
<link rel="icon">标签,浏览器会自动向网站根目录发起GET /favicon.ico请求。很多网站会把favicon放在这个默认位置,省去在header里声明的步骤。你可以直接验证根目录的这个路径是否存在图标文件。Web App Manifest文件:这是现代Web标准里的实用特性,网站可以在根目录放置
site.webmanifest(或manifest.json)文件,通过里面的icons字段定义不同尺寸、格式的图标资源。浏览器会自动检测并加载这个文件里的图标,甚至不需要在header里显式引入(当然也可以通过<link rel="manifest">指定自定义路径)。这个文件还能同时定义PWA相关属性,是当前很多网站管理图标的首选方式。苹果设备专用图标:如果是在iOS设备上看到的favicon,网站可能使用了
<link rel="apple-touch-icon">或<link rel="apple-touch-icon-precomposed">标签(也有可能是通过脚本动态注入的),这类图标原本用于添加到主屏幕的快捷方式,但部分浏览器也会将其作为favicon显示。
最直接的验证方法是打开浏览器开发者工具的网络面板,过滤“ico”或“manifest”关键词,查看实际加载的图标请求路径,就能明确它的来源了。
内容的提问来源于stack exchange,提问作者Matthieu Riegler

