uploadify(或swfupload)重新整理頁面時IE下不斷報JS Error的bug的處理

來源:互聯網
上載者:User

本人在使用uploadify 3.2做上傳頁面時,遇到一個問題 在載入完上傳按鈕後載入使用load其他頁面的時候出現不斷報JS Error

 

try { document.getElementById("SWFUpload_0").SetReturnValue(__flash__toXML(SWFUpload.instances["SWFUpload_0"].testExternalInterface()) ); } catch (e) { document.getElementById("SWFUpload_0").SetReturnValue("<undefined/>"); }

迴圈出現如下錯誤:

SCRIPT5007: 無法設定屬性“SetButtonTextPadding”的值: 對象為 null 或未定義
admin.aspx, 行48 字元3
SCRIPT5007: 無法設定屬性“SetButtonTextStyle”的值: 對象為 null 或未定義
admin.aspx, 行48 字元3
SCRIPT5007: 無法設定屬性“SetButtonAction”的值: 對象為 null 或未定義
admin.aspx, 行48 字元3
SCRIPT5007: 無法設定屬性“SetButtonDisabled”的值: 對象為 null 或未定義
admin.aspx, 行48 字元3
SCRIPT5007: 無法設定屬性“SetButtonCursor”的值: 對象為 null 或未定義
admin.aspx, 行48 字元3
SCRIPT5007: 無法設定屬性“TestExternalInterface”的值: 對象為 null 或未定義
admin.aspx, 行48 字元3
SCRIPT5007: 無法擷取屬性“SetReturnValue”的值: 對象為 null 或未定義
admin.aspx, 行1 字元139
SCRIPT5007: 無法擷取屬性“SetReturnValue”的值: 對象為 null 或未定義
admin.aspx, 行1 字元181

在讀了 Fix SWFUpload destroy時IE下不斷報JS Error的bug(http://my.opera.com/justnewbee/blog/fix-swfupload-destroy-ie-js-error)後也反覆摸索解決辦法消耗不少精力,後來想,既然是uploadify頁面元素載入後,頁面換了,而IE下js無法正常銷毀swfupload元素,而使得flash中的錯誤處理代碼報錯就是,在閱讀技術資料的時候我發現swfupload和uploadfy有destroy,那我們手工銷毀就是,於是我在每次重新整理頁面前進行如下檢查,如果元素存在就銷毀

if ($('#file_upload').length > 0) { //注意jquery下檢查一個元素是否存在必須使用 .length >0 來判斷

     $('#file_upload').uploadify('destroy');

}銷毀

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.