5

我正在使用Cufon.replace字体替换网站上的一些文本。目前在 IE8 标准模式下,当它在 $(document) 之外运行时,它只发生在 DOM 更改发生的其余时间(使用 IE8 内置开发工具栏查看)的大约 50% 的时间,但没有文本显示。

禁用替换并通过控制台手动应用它会正确更新所有文本。将它包裹起来$(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 回答