在外部字体完全加载后执行JavaScript

在外部字体完全加载后执行JavaScript,javascript,Javascript,我正在使用Google字体,在$(window)中有代码。load(function(){…,其中一些文本表示“loading…”在执行$(window)中的代码之前,页面上呈现了所有内容。load(function(){除了具有CSS属性字体的文本外,使用Google字体 如何克服此问题?您可以进行非异步(同步?)AJAX调用,以确保字体已下载: xmlhttp.open('GET','path/to/needed/font',false); 这可以满足您的要求。但是,老实说,这不是最好的用

我正在使用Google字体,在$(window)中有代码。load(function(){…,其中一些文本表示“loading…”在执行$(window)中的代码之前,页面上呈现了所有内容。load(function(){除了具有CSS属性字体的文本外,使用Google字体


如何克服此问题?

您可以进行非异步(同步?)AJAX调用,以确保字体已下载:

xmlhttp.open('GET','path/to/needed/font',false);
这可以满足您的要求。但是,老实说,这不是最好的用户体验。相反,我建议为“加载”文本制作一个小的SVG图像,并只显示该图像。SVG很好,因为您可以将代码包含在HTML中,这样您就知道它已下载

如果您不能使用SVG,或者出于任何原因更喜欢JPG或PNG,您可以将图像数据嵌入页面:

最后,如果您不关心Internet Explorer,并且确实不想使用图像,那么我想您可以将数据url放入
@font-face
src中。例如: