0

addOnloadEvent(initSwfUpload)関数を使用してswfuploadを初期化します。

これが私の機能です

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(name、value)を使用する必要がありますが、swfは使用できません。

これがコードです

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

swfが未定義であるというメッセージが表示されます。

上記を実現するためにaddOnloadEventアプローチを使用することは可能です。

いくつかの理由で、私はroが古典的なswfuploadinitを使用したくない

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

ありがとう

4

1 に答える 1

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>
于 2011-01-20T08:43:30.857 に答える