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 以正确显示中文buttonText
最新推荐文章于 2017-07-02 20:51:04 发布
本文介绍了一个Uploadify组件中关于中文按钮文本显示不正确的bug及其修复方案。问题源于使用了不兼容的escape/unescape编码方式,解决方案是采用encodeURI/decodeURI进行参数传递,并调整了相关文件。
摘要由CSDN通过智能技术生成