【问题标题】:Cufon delay in Internet ExplorerInternet Explorer 中的 Cufon 延迟
【发布时间】:2010-06-25 08:59:25
【问题描述】:

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

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

谢谢

【问题讨论】:

    标签: javascript internet-explorer cufon


    【解决方案1】:

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

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

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

    h1 { 字体大小:2em; } .js h1 { 文本缩进:-9999px; }

    然后在你调用 cúfon 的 JavaScript 中包含(假设你也在使用 jQuery):

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

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

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

    【讨论】:

    • 感谢您最近的投票,但您现在真的应该使用@font-face!
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      感谢http://blog.jmedwards.net/post/1484780565/cufon-delay

      将此添加到您的样式表中

      .cufon-loading { visibility: hidden;  }
      

      去除渲染字体时的闪光/延迟。

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

      【讨论】:

        【解决方案4】:

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

        已知的错误

        Internet Explorer:您是否应该在调用 Cufon.now() 之前调用 结束标签,文本之前可能会有一个短暂的可见延迟 被替换了。

        【讨论】:

        • 感谢您的回复,我打电话给 Cufon.now();就在结束正文标记之前,我仍然遇到问题
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-29
        • 2010-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-27
        • 1970-01-01
        相关资源
        最近更新 更多