Uploadify_加載速度慢等問題_解決方案

 1. buttonText 屬性設置中文無效的問題或加載速度慢(2秒左右)jquery


    緣由:uploadify.js 中對使用escape()進行編碼,在uploadify.swf中使用unescape()進行解碼,js中的escape()方法是採用ISO Latin字符集對指定的字符串進行編碼的,很明顯我們的中文,包括日文,韓文(CJK)都不包括在ISO Latin字符集裏面的。函數


    解決方法:編碼


    A. 修改插件spa


    修改uploadify.js插件


    將 if (settings.buttonText) data.buttonText = escape(settings.buttonText);code


    改成 if (settings.buttonText) data.buttonText = encodeURI(settings.buttonText);orm


    修改uploadify.fla圖片


    將 browseBtn.empty.buttonText.text = unescape(param.buttonText); utf-8


    改成 browseBtn.empty.buttonText.text = decodeURI(param.buttonText); rem


    而後從新生成uploadify.swf並拷入項目中


    B. 使用 buttonImg 參數


    顯然buttonImg是用來設置圖片按鈕的,本身作的圖片,沒編碼固然不會亂碼了,不過這個方法,按鈕顯示會有點慢,仍是比較推薦方法A.


 


    2. FireFox中 上傳圖標看不見


    緣由:沒有安裝Flash非IE內核的插件


    解決方法:在FireFox中安裝最新版本的非IE內核的插件


   


    3. onQueueFull 函數提示兩次


    緣由:在uploadify.js中 157行已經彈出提示,因此在頁面中設置onQueueFull後會彈出兩次提示


    解決方法:將uploadify.js中 alert('The queue is full.  The max size is ' + queueSizeLimit + '.');刪除或將提示改成中文;


 


    4. uploadify.js中的中文亂碼(不修改uploadify.js不會出現這種狀況)


    緣由:編碼不統一,uploadify.js 採用UTF-8編碼,ASP.NET環境默認爲GB2312編碼


    解決方法:引用 uploadify.js 時添加 charset="gb2312"


 


    5. 上傳中文名稱的文件時,Http Error


    緣由:在uploadify.swf中採用utf-8編碼並上傳圖片,ASP.NET默認GB2312編碼


    解決方法:


    A. 在HttpHander處理上傳圖片時,添加 context.Response.ContentEncoding = System.Text.Encoding.UTF8;


    B. 在 Web.config 中添加以下代碼


    <globalization fileEncoding="UTF-8" requestEncoding="UTF-8" responseEncoding="UTF-8"/> 


 


    6. 關於上傳成功後圖片自動消失的問題


    緣由:在uploadify.js中第48行,有個屬性:removeCompleted 該屬性默認值爲 true;表示自動移除上傳成功的文件


    解決方法:修改 removeCompleted 默認值爲 false


按鈕顯示中文


方法一:

       Uploadify有一個參數是buttonText這個不管你怎麼改都不支持中文,由於插件在js裏用了一個轉碼方法把這個參數的值轉過碼了,解碼的地方在那個swf文件裏,看不到代碼,因此這條路不行。另外一個參數,網上不多提到,是buttonImg(按鈕圖片),這時你徹底能夠用一個圖片來替換掉插件自帶的那個黑色的flash瀏覽按鈕,只要你本身的圖片上是中文,這不就解決了中文按鈕問題麼?若是隻加這一個,你會發現你的按鈕圖片下面有一片白色區域,其實就是那個flash留下的,白色區域表示鼠標可用範圍,這個範圍能夠用width,height來調整。還有一個參數wmode它的默認值是opaque,把它改爲transparent就好了,也就是把那片白色區域透明化。再用剛纔說的方法,把按鍵點擊範圍設置成跟你圖片同樣大就徹底OK了。 

 

方法二:

 

uploadify 控件的按鈕不支持多國語言,這裏介紹如何修改後使其支持多國語言。

1.jquery.uploadify.v2.1.4.js文件 70行

原代碼:if (settings.buttonText) data.buttonText = escape(settings.buttonText);

新代碼:if (settings.buttonText) data.buttonText = encodeURI(settings.buttonText);

 

2.jquery.uploadify.v2.1.4.min.js文件 863列

原代碼:if(f.buttonText){g.buttonText=escape(f.buttonText)}

新代碼:if(f.buttonText){g.buttonText=encodeURI(f.buttonText)}

 

3.uploadify.fla文件 Scene 1 腳本文件 117行

原代碼:browseBtn.empty.buttonText.text = unescape(param.buttonText);

新代碼:browseBtn.empty.buttonText.text = decodeURI(param.buttonText);

 

4.uploadify.fla文件 Scene 1>empty>buttonText 屬性>字符>系列

原值:Helvetica

新值:_sans

 

5.uploadify.fla文件 刪除(Delete) Scene 1>Helvetica

相關文章
相關標籤/搜索