是否可以通过离线存储缓存清单加载网络字体?
我知道我可以通过 html/css 导入我的字体,但我想知道这是否是一种可以实现的方法。
谢谢!
I understand that I can import my fonts through html/css but I am wondering if this is a achievable approach.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,如果您将字体添加到清单文件中,它们将与其余文件一起下载,然后可以离线使用。
字体需要在离线应用程序所在的同一服务器上可用,因为您无法缓存不在您的域中的资源。例如,您无法缓存 Google Web 字体。我一直在对此进行一些测试,看来来自 Google 的字体在 Chrome 和 Opera 上缓存得很好,只有 Firefox 有问题。清单的“不在您的域中”限制仅在通过 HTTPS 提供服务时适用。您仍然需要在 CSS 中使用
@font-face
规则引用字体,以便在页面中使用它们。例如,在清单文件中:在 style.css 中:
从 Font Squirrel。
Yes, if you add fonts to your manifest file they will be downloaded along with the rest of the files, and then be available offline.
The fonts will need to be available from the same server where your offline app is, because you can't cache resources not on your domain. You couldn't cache a Google Web Font, for instance.I've been doing some testing on this, it seems fonts from Google are cached fine on Chrome and Opera, only Firefox has problems. The 'not on your domain' restriction for the manifest only applies when it's served over HTTPS.You will still need to reference the fonts with a
@font-face
rule in your CSS for them to be used in your page. For example, in your manifest file:In style.css:
Get the Gentium files from Font Squirrel.