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

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。就是少在这些内嵌字体上了。 

如果想更改字体可以修改Family值。 


 青春就应该这样绽放  游戏测试:三国时期谁是你最好的兄弟!!  你不得不信的星座秘密
posted @ 2012-05-24 09:29  goodlad  阅读(444)  评论(0编辑  收藏  举报