【问题标题】:Cufon IE Invalid ArgumentCufon IE 无效参数
【发布时间】:2011-09-06 12:50:22
【问题描述】:

好的,我对这个有点难过。我正在使用 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 网址:http://localhost/wordpress/wp-content/themes/pondera/js/cufon/cufon-yui.js?ver=1.0.0

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

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

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

【问题讨论】:

  • 顺便说一句,我发布的代码上方还有另一个字体js参考,看起来我在复制和粘贴时错过了它!
  • 为什么所有这些脚本标签?所有这些Cufon 行都可以在一个&lt;script&gt;&lt;/script&gt; 元素内。
  • 你可以让 cufon-yui.js 在某个地方看到吗?
  • @epascarello - 嗯,我对此没有很好的答案......我会尽快修复!我实际上只是按照以下方式复制了代码:cufon.shoqolate.com/js/cufon-yui.js?v=1.09i ...并且错误仍然存​​在

标签: javascript internet-explorer cufon invalid-argument


【解决方案1】:

好吧,我想我找到了一个灵魂(某种)......并且可能是 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 中的错误?

希望这对某人有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-01
    • 2019-12-10
    • 2012-03-24
    相关资源
    最近更新 更多