【发布时间】:2020-03-06 21:07:38
【问题描述】:
正如您在屏幕截图中看到的那样,图标和字体未正确加载。
我们的观察是,这只在 Safari 中不起作用。无论我们是在 iPhone 上还是在 Mac 上进行测试。
字体加载如下:
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500&display=swap" rel="stylesheet" />
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
我们测试过的任何其他浏览器都能正确显示图标和字体。 (iOS 上的 Google 浏览器;Windows 上的 Chrome)
从我们在 Safari 调试器中看到的情况来看,似乎无法下载字体文件。 (我不想写这个但是:有时我观察到它工作了很短的时间然后停止工作。)
在 Chrome 中,结果如下所示:
会有什么建议?
- 自托管?为什么?
2019 年 11 月 13 日更新: 在以下位置找到更多信息:https://github.com/doanythingfordethklok/safari-cache-bug
【问题讨论】:
-
您是否尝试过其他字体系列来验证 Google 端的有效负载没有问题?试试
Lato或Open Sans之类的东西,而不是Roboto -
好点。测试了它。没有区别。
-
我认为这是一个远射,但你永远不会知道。过去我在使用 Google 的特定字体文件时遇到过问题。
-
自托管字体是一种选择吗?这并不理想,但是您可以将字体 base64 编码为 CSS 的一部分。这将避免在获取您发现的资源问题时重定向。
-
也许可以检查this similar question。如果没有,请尝试将您的
font-family: Roboto;放在引号中?
标签: css safari angular-material google-material-icons roboto