SWFUpload 上傳按鈕消失

摘要:SWFUpload 上傳按鈕消失

在這裡筆者使用了一個上傳元件 SWFUpload , 

 

有關此元件的介紹可參考 : 

 

Demo網站

 

其他介紹網站

 

在使用這個元件到自己網站的時候 , 一直到碰到上傳按鈕無法出現的狀況 , 

 

元件初始設定就算按鈕無法出現 , 也會畫出一個 span 讓你可以選擇圖片 , 

 

但是我遇到的情況是連 span 都不曾出現 ,  

 

以下是除錯過程 : 

 

1.懷疑是否有真的有New 出一個 SWFUpload 實體 , 使用 js 來去 alert 是否有實體化 , 

 

   結果是 undifined ...

 

2.開始找尋原本的code實體化 SWFUpload 的過程 ... 發現它使用以下 Code 來實體化

 


 var swfu;
                window.onload = function () {
                        swfu = new SWFUpload({
                                // Backend Settings
                                upload_url: "upload.aspx",
                post_params : {
                    
                },

                                // File Upload Settings
                                file_size_limit : "2 MB",
                                file_types : "*.jpg",
                                file_types_description : "JPG Images",
                                file_upload_limit : "0",    // Zero means unlimited

                                // Event Handler Settings - these functions as defined in Handlers.js
                                //  The handlers are not part of SWFUpload but are part of my website and control how
                                //  my website reacts to the SWFUpload events.
                                file_queue_error_handler : fileQueueError,
                                file_dialog_complete_handler : fileDialogComplete,
                                upload_progress_handler : uploadProgress,
                                upload_error_handler : uploadError,
                                upload_success_handler : uploadSuccess,
                                upload_complete_handler : uploadComplete,

                                // Button settings
                                button_image_url : "../Images/XPButtonNoText_160x22.png",
                                button_placeholder_id : "spanButtonPlaceholder",
                                button_width: 160,
                                button_height: 22,
                                button_text : 'Select Images (2 MB Max)',
                                button_text_style : '.button { font-family: Helvetica, Arial, sans-serif; font-size: 14pt; } .buttonSmall { font-size: 10pt; }',
                                button_text_top_padding: 1,
                                button_text_left_padding: 5,

                                // Flash Settings
                                flash_url : "swfupload/swfupload.swf",  // Relative to this file

                                custom_settings : {
                                        upload_target : "divFileProgressContainer"
                                },

                                // Debug Settings
                                debug: false
                        });
                }

 

它使用了 window.upload 來進行實體化的過程 ... 後來發現該 Page 同時有兩個 window.onload..

 

所以原因是後面的 function 直接覆蓋了 我 new   SWFUpload 的 function , 

 

偏偏那個function 還是寫在dll 裡面.... Orz... 而且還是廣泛使用的 dll...