论坛首页 Web前端技术论坛

修改 uploadify 以正确显示中文buttonText

浏览 26105 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-06-11   最后修改:2010-06-11
uploadify 目前不能正确显示中文的按钮文本。

我发现bug的原因是uploadify错误的使用了 js 的 escape 和 flash 的 unescape配对,而这2个是不兼容的。正确的转码传递参数应该用 encodeURI/decodeURI 配对,这2个函数的行为在js和flash里是相同的。其他地方的escape/unescape也应该替换掉,下面只修改影响按钮文本的部分。

1. jquery.uploadify.v2.0.3.js 66行
< if (settings.buttonText) data.buttonText = escape(settings.buttonText);
> if (settings.buttonText) data.buttonText = encodeURI(settings.buttonText);

2. uploadify.fla scene 1 脚本文件117行
< browseBtn.empty.buttonText.text = unescape(param.buttonText);
> browseBtn.empty.buttonText.text = decodeURI(param.buttonText);

3. uploadify.fla Scene 1\ empty\ buttonText 的UI属性
必须使用设备字体(比如 _sans)而不是嵌入字体。

然后用修改过的fla重新生成 swf 文件。

附件是修改好的,替换uploadify官方包内同名文件就可以,附件不包括压缩的js文件。
   发表时间:2010-09-28  
楼主知道:
scriptData属性传递中文怎么解决吗?
像这样:
scriptData:{'aaa','式式'}
0 请登录后投票
   发表时间:2010-10-04  
hzl7652 写道
楼主知道:
scriptData属性传递中文怎么解决吗?
像这样:
scriptData:{'aaa','式式'}


uploadify提供了两种官方的方法来设置上传文件的携带参数:

1.初始化时:
$('dom').uploadify({
     .....
    scriptData: { param: value }
   .....
});
2.上传文件之前:
$('dom').uploadifySettings('scriptData', {
          'param' : value
})


有点小意外的是:初始化时设置的scriptData是固定值,即使是你用表达式,也不过是初始化时求解赋值。
明显的第二种方式就灵活多了。
不过我两种方式我都遇到了乱码问题,奇怪的是解决乱码的方式却不一样。
1. encodeURIComponent( encodeURI("中文") )
2. encodeURI( "中文")

以上资料我也是搜索的,楼上的试下吧!
0 请登录后投票
   发表时间:2010-10-08  
这样设置就可以中文名了吗??????
0 请登录后投票
   发表时间:2010-10-17   最后修改:2010-10-18
您好,参数部分 scriptData: { param: '中文'}  传到Action里就出现乱码。
我这里不知道怎么编译.fla,你可以帮忙把uploadify.fla源文件的第342、343、344行的代码也修改下发给我。


0 请登录后投票
   发表时间:2010-10-18  
呵呵,自己解决了。。
0 请登录后投票
   发表时间:2010-10-21  
折腾了一下午解决了,后来发现 何必那么麻烦--直接改fla文件
0 请登录后投票
   发表时间:2010-11-04  
这是那个版本的啊?
0 请登录后投票
   发表时间:2011-02-18  
当 flash 按钮的大小尺寸小于 按钮图片的尺寸时,flash 按钮只显示部分按钮图片。请问,如何用 js 设置 flash 的按钮图片的大小,以使得 flash 按钮显示全部的图片?(不要说用 ps 直接把图片改小这种方法,要的是,不改变图片、不改变 flash 大小的情况下,如果让 flash 完整显示按钮图片,就如 <img/>,直接改 width/height 就可以了)
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics