摘要:SWFUpload 上傳按鈕消失
在這裡筆者使用了一個上傳元件 SWFUpload ,
有關此元件的介紹可參考 :
在使用這個元件到自己網站的時候 , 一直到碰到上傳按鈕無法出現的狀況 ,
元件初始設定就算按鈕無法出現 , 也會畫出一個 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...