2010-12-15 83 views
0

我正在使用addOnloadEvent(initSwfUpload)函數來初始化 swfupload。swfupload初始化與addOnloadEvent

這裏是我的功能

function addOnloadEvent(fnc){ 
    if (typeof window.addEventListener != "undefined") 
    window.addEventListener("load", fnc, false); 
    else if (typeof window.attachEvent != "undefined") { 
    window.attachEvent("onload", fnc); 
    } 
    else { 
    if (window.onload != null) { 
     var oldOnload = window.onload; 
     window.onload = function (e) { 
     oldOnload(e); 
     window[fnc](); 
     }; 
    } 
    else 
     window.onload = fnc; 
    } 

} 

function initSwfUpload() 
{ 
     var swf = new SWFUpload({ 
           // Backend Settings 
           upload_url: "../../../upload.php", 
           ... 
           .... 
     }) 

} 

其工作正常,但現在我需要使用addPostParam(名稱,值) 但SWF不可用。

下面是代碼

<script type="text/javascript"> 
     addOnloadEvent(initSwfUpload); 
     swf.addPostParam('c','1'); 
</script> 

我得到的消息SWF是不確定的。

可能使用addOnloadEvent方法來實現上述目標。

因爲一些原因,我不想RO使用經典的SWFUpload初始化

var swfu; 
window.onload = function() { 
swfu = new SWFUpload({ 
    ....... 

感謝

回答

1

您需要定義swfu對象以外的功能首先,使其全球。

function addOnloadEvent(fnc){ 
    if (typeof window.addEventListener != "undefined") 
    window.addEventListener("load", fnc, false); 
    else if (typeof window.attachEvent != "undefined") { 
    window.attachEvent("onload", fnc); 
    } 
    else { 
    if (window.onload != null) { 
     var oldOnload = window.onload; 
     window.onload = function (e) { 
     oldOnload(e); 
     window[fnc](); 
     }; 
    } 
    else 
     window.onload = fnc; 
    } 

} 

var swf; 

function initSwfUpload() 
{ 
     swf = new SWFUpload({ 
           // Backend Settings 
           upload_url: "../../../upload.php", 
           ... 
           .... 
     }) 

} 

然後你可以使用這個。

<script type="text/javascript"> 
     addOnloadEvent(initSwfUpload); 
     swf.addPostParam('c','1'); 
</script>