0

Google フォントを使用しており、$(window).load(function(){... 内にコードがあり、"loading..." というテキストが含まれています。$(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を使用したい場合は、画像データをページに埋め込むことができます:Base64画像の埋め込み

最後に、Internet Explorerを気にせず、本当に@font-face画像を使用したくない場合は、データのURLをsrcに入れるだけでよいと思います。例: http: //robert.accettura.com/blog/2009/07/03/optimizing-font-face-for-performance/

于 2013-01-04T01:54:35.207 に答える