如何确保在执行JS之前应用自定义字体

时间:2015-11-07 00:46:45

标签: javascript css fonts

当我的页面加载时,我执行JS以确定某些文本是否适合其父div。如果没有,则需要完成任务。

该文字使用自定义字体,可以通过@ font-face或Google字体加载,具体取决于字体。

问题是JS有时会在应用字体之前运行,导致错误的结果,因为字体的大小/宽度不完全相同。

编辑,回应评论:

我在标题中有CSS,文档末尾有JS。我现在已将所有代码放入其中:

$(document).ready ( function(){...})

问题仍然存在。

当我缓存时,它会测量错误的高度。当缓存打开时,它会获得正确的高度,可能是因为应用字体的时间。

2 个答案:

答案 0 :(得分:0)

$(window).load(function(){
    //your code here...
});

答案 1 :(得分:0)

我最终编写了JS代码,用于比较两个元素的宽度:一个是websafe字体,另一个是字体,其备份字体是相同的websafe字体。

元素以相同的宽度开始,然后在呈现Google字体时变得不同。代码循环然后在呈现字体时退出并运行其余代码。

对于这个网页,window.onload的问题是它还等待加载所有图像,我不希望我的js等待。