sIFR编码非中断空格char - %20

时间:2009-05-20 17:42:23

标签: jquery fonts sifr

在使用OpensIFRr转换ttf时,我做错了,但我看到所有sIFR文本中的非破坏空格的%20个字符。 我正在使用带有以下内容的jQuery sIFR插件(3.04):

<div><h1>My Example Text</h1></div>
...    
<script type="text/javascript">
        <!--
            var $j = jQuery;
            $j(document).ready(function(){
                    $j('h1').sifr({
                        path: '/fonts/',
                        font: 'fancy_script'
                    });
            });
        //-->
</script>

无论我使用哪种字体都会发生。

4 个答案:

答案 0 :(得分:2)

所以几个星期前我遇到了这个问题,并决定恢复到我在以前的网站上成功使用的这个插件的旧版本。我再也找不到旧版本所以我认为是时候做一些有用的事情并决定解决这个问题。经过一些挖掘程序,我发现了发生了什么。

在构建PARAM标记的过程中,swfobject.js插件会对传递给它的数据进行urlen编码。不确定Neal的原因是什么,但如果这被绕过,在初步测试时,一切似乎都能正常工作。

说什么?

在swfobject.js文件中,请在此处查找以下行:

bArr.push([b, '=', win.escape(win.escape(paramAttributes[a][b]))].join(x));

并将其更改为:

bArr.push([b, '=', paramAttributes[a][b]].join(x));

我打算给作者写一封电子邮件,看看他是否想在下一个正式版本中加入这个修补程序。

答案 1 :(得分:0)

看起来像我的jQuery插件的问题。尝试使用官方的sIFR版本,看看是否有帮助。

答案 2 :(得分:0)

感谢您的解决方案,对我来说非常有用 - 还修复了äöü等德语变音符号的问题......

答案 3 :(得分:0)

似乎有一个重复的转义呼叫。

更改

bArr.push([b,'=',win.escape(win.escape(paramAttributes [a] [b]))]。join(x));

bArr.push([b,'=',win.escape(paramAttributes [a] [b])]。join(x));

同样有效,并且可以防止其他问题(逃避解决的问题)。