HTML header link - 这些元素何时加载?

HTML header link - When are these elements loaded?

我正在开发一个新的 Web 项目,目前正在使用网站图标文件。前段时间这是一个简单的任务,但现在几乎完整的 HTML header 似乎都被这个话题占据了:

所有这些元素都使用标准 <link /> 标签引用。我现在想 何时 加载这些元素:

所有 <link /> 元素默认加载还是不同的浏览器足够聪明,只加载当前 platform/system 上真正使用的元素? Windows 磁贴图标是否也加载到 iOS 上?

引用为<link />的其他元素也是如此吗?假设 header 中链接了 100 个不同样式的 sheet。理论上浏览器可以以相反的顺序加载这些文件(后面的样式会覆盖前面的一次)。如果当前文件中使用的所有样式都已经在最后一个样式中定义sheet那么就不需要加载其他99个文件了,是吗?

很可能在现实生活中,确定一种风格 sheet 是否处理 所有 可能的风格比下载和 parsing/combining 所有 100 个文件要难得多。

然而问题是一样的:似乎有很多情况不需要下载所有<link />个元素。浏览器是否足够智能以检测和使用这些案例?

假设响应来自:

How to prevent favicon.ico requests?

in Chrome and Android an IFRAME will generate 3 requests for favicons:

"GET /favicon.ico HTTP/1.1" 404 183 "GET /apple-touch-icon-precomposed.png HTTP/1.1" 404 197 "GET /apple-touch-icon.png HTTP/1.1" 404 189

来自:Will browsers request /favicon.ico or <link> first?

我猜浏览器首先请求<link>中的所有图标,如果没有指定,则在文件夹的根目录中搜索'favicon'。

仅供参考:您也可以查看:https://github.com/audreyr/favicon-cheat-sheet 以获取更多信息!希望对您有所帮助!

如今,您应该声明至少 3 或 4 个图标以支持所有浏览器,如果要实现所有可用图标,则最多应声明 20 多个图标。存在关于加载的已知问题:

我没有 Android Chrome 或 IE 的数据。