2

好吧,我对这个有点难过。我正在使用 Cufon 用非网络标准字体替换我的文本。这是一个我用过很多次的脚本,过去从来没有遇到过问题。随之而来的是 IE,它决定毁掉我的一天。

我正在使用最新版本的 cufon(截至本文发布之日),并且在我的header.php文件(对于 Wordpress 网站)中引用了许多不同的元素:

    <script type="text/javascript" language="javascript" >Cufon.replace('.learnmore', { color: '#fff', textShadow: '1px 1px #0e1b0a', hover: { textShadow: '1px 1px #000',  color: '#fff'   }   });     </script>
    <script type="text/javascript" language="javascript" >Cufon.replace('.logo span, h1, h2, h4 , h5, h6, .learnmore, .prosto_button, .comment-reply-link, .slide_button, .page_title .bold p, .textonlycont, .h-title', { fontFamily: "Aller"});   </script>
    <script type="text/javascript" language="javascript" >Cufon.replace('.h-title', { textShadow: '1px 2px #5C1003' });     </script>
    <script type="text/javascript" language="javascript" >Cufon.replace('h1', { color: '-linear-gradient(white, #ececec)', textShadow: '#862905 0 2px'});   </script>
    <script type='text/javascript' src='http://localhost/wordpress/wp-content/themes/pondera/js/cufon/Vegur.font.js?ver=1.0.0'></script>
    <script type="text/javascript" language="javascript" >Cufon.replace('h3, #serv-benefit h4, p.quote, #letstalk label', { fontFamily: "Vegur"});  </script>
    <script type="text/javascript" language="javascript" >Cufon.replace('#letstalk label', { fontFamily: "Vegur", textShadow: '1px 2px #293719' }); </script>

不确定这是否是引用多种不同字体的最佳方式,但它在所有浏览器栏 IE 中都可以正常工作(特别是我目前正在运行的v.8.0.7 )。IE 给出以下错误报告:

网页错误详情:

消息:无效的参数。行:7 字符:8520 代码:0 URI:http://localhost/wordpress/wp-content/themes/pondera/js/cufon/cufon-yui.js?ver=1.0.0

我调查了 Cufon js 文件,这似乎只是在D.replaceChild参考之前。现在我离 JS 专家还很远,所以我不知道是什么导致了这个问题......

仅供参考,通过测试,我试图删除第一个Cufon.replace(...参考(即上面的代码)的所有栏,以查看它是否是我糟糕的编码,但这并没有解决它。

任何建议将不胜感激!提前感谢您阅读本文,如果需要,我很乐意提供更多信息。

4

1 回答 1

0

好吧,我想我已经找到了一个灵魂(某种)......并且可能是 Cufon 本身的一个错误(尽管如果我错了我不会感到惊讶!)。

正如 Epascarello 建议的那样,我证明了我的代码布局减少了脚本标签:

    <script type="text/javascript" language="javascript" >
        Cufon.replace('.logo span, h1, h2, h5, h6, .learnmore, .prosto_button, .comment-reply-link, .slide_button, .page_title .bold p, .textonlycont, .h-title', { fontFamily: "Aller"});
        Cufon.replace('h1', { color: '-linear-gradient(white, #ececec)', textShadow: '#862905 0 2px'});
        Cufon.replace('.learnmore', {   color: '#fff', textShadow: '1px 1px #0e1b0a', hover: { textShadow: '1px 1px #000',  color: '#fff'   }});
        Cufon.replace('.h-title', { textShadow: '1px 2px #5C1003' });
    </script>
    <script type='text/javascript' src='http://localhost/wordpress/wp-content/themes/pondera/js/cufon/Vegur.font.js?ver=1.0.0'></script>
    <script type="text/javascript" language="javascript" >
        Cufon.replace('h3, #serv-benefit h4, p.quote, #letstalk label', { fontFamily: "Vegur"});
        Cufon.replace('#letstalk label', { fontFamily: "Vegur", textShadow: '1px 2px #293719' });
    </script>

在这样做的同时,我花了一些时间在插入代码时按顺序测试代码,以查看错误发生的时间。在此期间,我测试了每个选择器和所有工作条... h4 !?!? 为了澄清如果您将上面代码中的第一行修改为以下内容,则会出现 IE 错误:

        Cufon.replace('.logo span, h1, h2, h4, h5, h6, .learnmore, .prosto_button, .comment-reply-link, .slide_button, .page_title .bold p, .textonlycont, .h-title', { fontFamily: "Aller"});

奇怪吧?!我正在使用的灵魂是修改我的标记以避免H4标签,但大概这是Cufon中的错误?

希望这对某人有帮助!

于 2011-09-11T15:31:16.840 回答