uploadify2.1.4如何能使按钮显示中文

网上关于这段话的搜索恐怕是太多了。方法多也试过了不知怎么,反正不行。最终自己想办法给解决了。
当然首先还是要有fla源码。直接去管网就可以下载。
[url]http://www.uploadify.com/wp-content/uploads/uploadify-v2.1.4.zip
[/url]
OK!有了源码多试试不就知道怎么回事了吗?
Javascript代码 收藏代码
  1. $('#f_load').uploadify({
  2. 'uploader':'uploadify.swf',
  3. 'script':'uploadify.php',
  4. 'cancelImg':'cancel.png',
  5. 'buttonText':'是我'
  6. });

打开页面。发现那个按钮显示:662F6211。
如果我们使用javascript的escape方法:
Javascript代码 收藏代码
  1. alert(escape('是我'));//弹出:u662F%u6211

好嘛!662F6211不就是unicode码: %u662F%u6211

那怎么少了%u呢?可在javascript与flash交互时弄丢了。(至于怎么丢的,还需要有知道的朋友告诉我一下。)

依我的推理一定与这个%有关。在escape中不是把很多特殊的字符转成%开头的吗?比如空格是%20,“=”号是%3D。
既然这样如果把"%"号escape一下变成%25。也就是escape('%u662F%u6211') => %25u662F%25u6211。而flash端使用unescape(unescape(%25u662F%25u6211));不就正常还原吗?


于是在jquery.uploadify.v2.1.4.js中修改
Javascript代码 收藏代码
  1. if(settings.buttonText)data.buttonText=escape(settings.buttonText);
  2. //---为-----------
  3. if(settings.buttonText)data.buttonText=escape(escape(settings.buttonText));

修改uploadify.fla中
Flash代码 收藏代码
  1. browseBtn.empty.buttonText.text=unescape(param.buttonText);
  2. //---为-----------
  3. browseBtn.empty.buttonText.text=unescape(unescape(param.buttonText));


如果你按上面的方法修改了,会发现输入的中文总是空。这就是第二个问题。作者使用了嵌入字体,它选择了[a-z][A-Z][0-9]。
好嘛!完全国际化了 只要字体那里把嵌入字体全取消,它就会使用设备字体了,产生的swf文件10K,比原始给的小了15K。就是少在这些内嵌字体上了。
uploadify2.1.4如何能使按钮显示中文_第1张图片
如果想更改字体可以修改Family值。

你可能感兴趣的:(uploadify)