Javascript:什么时候应用了font-face?

时间:2015-04-23 10:29:43

标签: javascript css angularjs

我们有一个应用程序:

  • 将font-face Lato应用于正文
  • 需要计算某些元素的offset().top值(滚动间谍)

现在我们在Angular offset().top函数中计算link的值,应该在DOM准备好后调用它。

但是,我们发现这些值不准确。如果我们停用字体Lato,则值会变为正确。

因此我们怀疑在link函数中,当我们计算时,字体尚未呈现给body,导致offset()值不正确。

如何在应用字体后才能计算?

我已尝试过How to know when font-face has been applied中给出的解决方案,但没有运气。

1 个答案:

答案 0 :(得分:1)

是的,我们在工作中遇到了完全相同的问题。我们集成了一个webfont加载器来避免这种行为。我认为最着名的是这一个: https://github.com/typekit/webfontloader(由Google和Typekit开发)

您将拥有要加载的字体状态的事件。例如“活动”,当所有字体都已渲染时。您可以将JavaScript回调绑定到此事件,以便在应用字体后开始计算。