2010-12-15 3 views
0

Я использую функцию addOnloadEvent (initSwfUpload) для запуска swfupload .swfupload init с 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> 

Я получаю сообщение швейцарских франков не определено.

Возможно использование подхода addOnloadEvent для достижения вышеуказанного.

По несколько причинам я не хочу ро использовать классический 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> 

 Смежные вопросы

  • Нет связанных вопросов^_^