0

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

我该如何克服呢?

4

1 回答 1

1

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

xmlhttp.open('GET','path/to/needed/font',false);

这将满足您的要求。但是,老实说,这并不是最好的用户体验。相反,我建议制作“正在加载”文本的微小 SVG 图像,然后只显示该图像。SVG 很好,因为您可以在 HTML 中包含代码,这样您就知道它已被下载。

如果您不能使用 SVG,或者出于某种原因只喜欢 JPG 或 PNG,您可以将图像数据嵌入到页面中:Embedding Base64 Images

最后,如果您不关心 Internet Explorer,并且您真的不想使用图像,那么我想您可以将数据 url 放入@font-facesrc。例如:http ://robert.accettura.com/blog/2009/07/03/optimizing-font-face-for-performance/

于 2013-01-04T01:54:35.207 回答