0

用 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

4 回答 4

2

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

在构建 PARAM 标记的过程中,swfobject.js 插件会对传递给它的数据进行 urlencode。不确定尼尔这样做的原因是什么,但如果绕过这一点,在最初的测试中,一切似乎都可以正常工作。

说什么?

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

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

并将其更改为:

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

我要给作者写一封电子邮件,看看他是否想在他的下一个正式版本中包含这个修复。

于 2009-06-13T23:07:52.573 回答
0

对我来说,这似乎是 jQuery 插件的问题。尝试使用官方 sIFR 版本,看看是否有帮助。

于 2009-05-20T21:28:43.493 回答
0

感谢您的修复,对我很有用 - 还修复了德国元音变音的问题,如 äöü...

于 2009-10-02T08:31:15.690 回答
0

好像有一个重复的转义电话。

改变

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

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

也有效,并且可以防止其他问题(转义首先解决)。

于 2010-04-12T05:59:41.517 回答