performance - 预加载字体以加快网站速度,不要下载两次?
问题描述
我想从这里的文件中预加载我正在使用的两种字体:https ://res.cloudinary.com/prodigy-official-de/raw/upload/v1581064331/www.prodigy-official.de%20resources/fonts/font .style.css
所以我尝试的是这里的代码:
<link rel="preload" href="https://res.cloudinary.com/prodigy-official-de/raw/upload/v1578333925/www.prodigy-official.de%20resources/fonts/XRXV3I6Li01BKofINeaB.woff2" as="font">
<link rel="preload" href="https://res.cloudinary.com/prodigy-official-de/raw/upload/v1999999/www.prodigy-official.de%20resources/fonts/icomoon.woff2?10si43" as="font">
但!他在链接中预加载了这两种字体,然后在 font.style.css 中再次下载字体。所以它不起作用。结果在这里:
我如何存档以仍然下载这两种字体但只下载一次?并在字体网址中使用此预取缓存?
解决方案
尝试添加到链接
type="font/woff2" crossorigin
所以这将是例如
<link rel="preload" href="https://res.cloudinary.com/prodigy-official-de/raw/upload/v1578333925/www.prodigy-official.de%20resources/fonts/XRXV3I6Li01BKofINeaB.woff2" as="font" type="font/woff2" crossorigin>
它对我有用,字体文件只下载一次,我想它需要它来确保这些文件完全相同......
更正! 上面的答案是正确的方法,这意味着您还必须定义 MIME 类型,以便文件不会被下载两次。但特别针对上面的问题,因为 FAIK,Cloudinary,只支持图像和视频!这意味着您可以从中提供一些原始文件,但不会使用正确的 MIME 类型检索它,而是将其作为文档下载,因此将下载两次...
推荐阅读
- javascript - 如何在 ASP.net (.aspx) 中 5 分钟后显示按钮?
- javascript - 合并同级数组
- c++ - 为什么 min_element() 返回最小元素的索引,而不是迭代器?
- aws-cdk - 如何执行准备工件所需的命令
- swift - 在 Swift 中使用 Prize Enum 和扩展
- bash - Apache Zeppelin ZeppelinContext 未按预期工作
- postgresql - 烧瓶无法将 postgresql 与 docker-compose 连接
- linux - /proc/id/maps 有额外的第一个条目
- sql - SQL 查询以在一个表中查找重复项,但前提是至少有一个重复项具有在不同表中的约会
- javascript - 在 React 中重置子组件中的选项卡