gpt4 book ai didi

javascript - 加载网络字体后如何收到通知

转载 作者:IT王子 更新时间:2023-10-29 03:01:36 27 4
gpt4 key购买 nike

Google 的 Web Fonts API 提供了一种方法来定义在字体加载完成或无法加载等情况下执行的回调函数。有没有一种方法可以使用 CSS3 web 字体实现类似的功能 (@font-face) ?

最佳答案

2015 年更新

Chrome 35+ 和 Firefox 41+ 实现了 CSS 字体加载 API(MDNW3C)。调用 document.fonts 获取 FontFaceSet对象,它有一些有用的 API 用于检测字体的加载状态:

下面是显示这些 API 的片段,加上 document.fonts.onloadingdone,它提供了有关字体的额外信息。

alert('Roboto loaded? ' + document.fonts.check('1em Roboto'));  // false

document.fonts.ready.then(function () {
alert('All fonts in use by visible text have loaded.');
alert('Roboto loaded? ' + document.fonts.check('1em Roboto')); // true
});

document.fonts.onloadingdone = function (fontFaceSetEvent) {
alert('onloadingdone we have ' + fontFaceSetEvent.fontfaces.length + ' font faces loaded');
};
<link href='https://fonts.googleapis.com/css?family=Roboto:400,700' rel='stylesheet' type='text/css'>
<p style="font-family: Roboto">
We need some text using the font, for the font to be loaded.
So far one font face was loaded.
Let's add some <strong>strong</strong> text to trigger loading the second one,
with weight: 700.
</p>

IE 11 不支持 API。如果您需要支持 IE,请查看可用的 polyfill 或支持库:

关于javascript - 加载网络字体后如何收到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5680013/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com