在Internet Explorer中Cufon延迟

时间:2010-06-25 08:59:25

标签: javascript internet-explorer cufon

有没有人知道为什么Cufon在Internet Explorer(所有版本)中加载页面时有第二次延迟 - http://www.consolidatemydebt.co.uk

我在结束<script type="text/javascript"> Cufon.now(); </script>标记之前已经</body>了。

由于

4 个答案:

答案 0 :(得分:2)

防止此闪烁的最佳方法(当服务器连接速度很慢时,也可能在Chrome / FF中发生)是隐藏cúfon文本,直到它被渲染。

添加document.documentElement.className ='js';就在您的标签下方。这意味着我们可以通过在每个选择器之前附加带有.js的CSS来定位支持JavaScript的浏览器。

在CSS中使用此选择器暂时隐藏页面加载内容,例如:

h1 {font-size:2em; } .js h1 {text-indent:-9999px; }

然后在您调用cúfoninclude的JavaScript中(这假设您也使用jQuery):

Cufon.replace("h1");
Cufon.now();  
$("h1").css("z-index","0"); 

这样做是隐藏内容,直到所有脚本都已加载并且cúfon已运行然后显示内容。

您也可以使用z-index值执行此操作。

答案 1 :(得分:1)

尝试在<script type="text/javascript">Cufon.now();</script>标记后面调用<body>,然后在要替换的元素后面调用Cufon.replace。这应该可以解决闪烁问题。

答案 2 :(得分:1)

归功于http://blog.jmedwards.net/post/1484780565/cufon-delay

将其添加到样式表

.cufon-loading { visibility: hidden;  }

删除渲染字体时的闪存/延迟。

重新渲染字体后,该类将替换为“cufon-active”

答案 3 :(得分:0)

这是Cufon的已知错误。结帐Here

  

已知错误

     

Internet Explorer:你不应该在之前调用Cufon.now()   关闭标记,文本之前可能会有一个短暂的,可见的延迟   被替换了。