5

Cufon.replaceサイトの一部のテキストをフォントに置き換えるために使用しています。現在、これが $(document).ready の外で実行される場合、IE8 標準モードでは、DOM の変更が発生した残りの時間の約 50% でのみ発生します (開発ツールバーに組み込まれた IE8 で表示) が、テキストは表示されません。表示されます。

置換を無効にし、コンソールから手動で適用すると、すべてのテキストが正しく更新されます。それをラップすると、$(document).readyそれが発生するのを防ぎます-DOMの変更はありません(開発ツールバーからわかる限り)。ただし、コンソールから手動で再申請することはできません。そのため、嘘をついている可能性があります。

包むと$(window).load同じ効果があるようです$(document).ready

これは ie8 の「標準モード」にのみ影響することに注意してください。Firefox と IE7 では正常に動作します。

何かご意見は?

4

1 に答える 1

1

これは以前に経験したことがあります...匿名関数でラップし、単純な setTimeout を使用して遅延させることもできます(必要ない場合があります)。

(function( $ ){ 
   // Your Cufon.replace()
   Cufon.replace('h1', { fontFamily: 'stack-overflow', hover: true });
   Cufon.now();

   // OPTIONAL - Delay by 150ms (you can experiment with this value)
   setTimeout(function(){ Cufon.refresh(); }, 150); 

})( jQuery );
于 2011-08-21T17:52:26.057 に答える