2011-09-06 74 views
2

好的,我对这个有点难住。我正在用Cufon来替换我的文字,使用非网页标准字体。这是我用过的一个剧本,过去从来没有遇到过问题。随着IE来临,它决定毁了我的一天。Cufon IE无效参数

我使用的是最先进的最新版本的Cufón的(在这篇文章的日期),我引用了一些不同的充元素在我的的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

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

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

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

+0

btw还有另一种字体js参考上面我贴的代码,看起来像我错过了复制和粘贴! – Sheixt

+0

为什么所有这些脚本标记?所有这些'Cufon'行可以在一个''元素内。 – epascarello

+0

你可以让cufon-yui.js在某处看到吗? – epascarello

回答

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!?!? ,如果你修改第一LINEIN上面的代码如下澄清,将出现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中的错误?

希望这可以帮助别人!