我们有一个应用程序:
Lato
应用于正文offset().top
值(滚动间谍)现在我们在Angular offset().top
函数中计算link
的值,应该在DOM准备好后调用它。
但是,我们发现这些值不准确。如果我们停用字体Lato
,则值会变为正确。
因此我们怀疑在link
函数中,当我们计算时,字体尚未呈现给body
,导致offset()
值不正确。
如何在应用字体后才能计算?
我已尝试过How to know when font-face has been applied中给出的解决方案,但没有运气。
答案 0 :(得分:1)
是的,我们在工作中遇到了完全相同的问题。我们集成了一个webfont加载器来避免这种行为。我认为最着名的是这一个: https://github.com/typekit/webfontloader(由Google和Typekit开发)
您将拥有要加载的字体状态的事件。例如“活动”,当所有字体都已渲染时。您可以将JavaScript回调绑定到此事件,以便在应用字体后开始计算。