私はCufonを使用するサイトを作成していますが、Javascriptが大量にあるため、ページの重みが特に重いです。したがって、私は次のようにhead.js( http://headjs.com/ )と非同期でスクリプトをロードしようとしています。
head.js("http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js", function() {
head.js("/js/libs/cufon-yui.js", function() {
head.js("/js/shared/Stag_Bold_700.font.js" , function() {
Cufon.replace('h1', { fontFamily: 'Stag Bold' });
});
});
});
したがって、Jqueryが最初にダウンロードされ、後続のcufon libファイルとcufonフォントが順番にダウンロードされ、最後にCufonが呼び出されてH1が置き換えられます。明らかに、これは置き換えが少ない縮小された例ですが、H1を置き換えようとしただけでは機能しません。
問題は、Internet Explorer(6/7/8)でのみ、テキストが置き換えられないことですが、Cufonが確実に呼び出されていることがわかります。タグに「cufon-activecufon-ready」というクラスが追加されているので、これを確認できます。IE Developerツールバーを使用してマークアップを検査すると、cufon / cufoncanvasタグは選択した要素内にありますが、より適切な言葉を求めて、非表示になっています。
IE9では、スクリプトはChromeやFirefoxと同様に意図したとおりに動作します。Cufon描画エンジンを調整してみましたが、最新の1.09iバージョンに更新しました。非同期でロードするのではなく、Cufon呼び出しステートメントをドキュメント準備完了イベントに移動すると、機能しますが、ページのロードを最適化しようとしています。サイトでは、多数のCufonフォントと他の多くのJSプラグインを使用します。また、labs.jsとhead.jsの両方を使用して、適切なファイルを非同期でロードしようとしました。