1

jQuery Toolsには、多くのパラメーターを受け入れるflashembedAPIが含まれています。コールバック関数を受け入れ、Flash Playerのロードイベントの成功状態の後に起動するものはありますか?

playerdiv.flashembed(url+'/VIPlayer.swf','knds_player',300,250,'8.0.0',false,flashVars);

情報:公式サイト

注:これは、以下のようにGoogleswfobjectライブラリで可能です。

swfobject.embedSWF(url+'/VIPlayer.swf','knds_player',300,250,'8.0.0',false,flashVars,callBack);

function callBack(event){ event after successful display of code
}

しかし、私はflashembedだけを使用する必要があります。ここで私を助けてくれませんか?

前もって感謝します :)

4

1 に答える 1

0

flashembedメソッドにはonFail、コールバックを値として受け取る引数があります。

$("#flash").flashembed({
   src: flashSWF,
   version:[10,0],
   id:"flashObj",
   width: 500,
   height: 300,
   wmode: "opaque",
   cachebusting: "false",
   allowscriptaccess: "always",
   api: "false",
   scale: "noscale",
   menu: "false",
   onFail: flasherror("#flash")
   })

成功と失敗の両方で誤って起動します。文字を検索して,、2つの状態を区別します。11,0エラーの場合、バージョン文字列の区切り文字として次のように表示されます11.0

function flashError(domnode, newtext){

function failState()
  {
  if ($(domnode).html().search(/,/) !== -1) //player failed to load
    {
    newtext = $(domnode).html(); // store default error string
    $(domnode).empty();
    $(domnode).append(newtext.replace(/,/g,".")); // replace comma with period
    if ($(domnode).hasClass("flashmsg") === false)
      {
      $(domnode).addClass("flashmsg"); // add class to custom error element
      }
    }
  else
    {
    //success logic
    }        
}

// observer constructor
var cursor =
typeof window.hasOwnProperty === "function" ?
  window.hasOwnProperty("WebKitMutationObserver")
    ? new WebKitMutationObserver(startValidation)
    : window.hasOwnProperty("MutationObserver")
      ? new MutationObserver(startValidation)
      : false
        : false
  ;

//Use observer event if it exists
if (cursor)       
  {
  //Bind observer event to text child of the dom node
  cursor.observe($(domnode).get(0), { childList: true } );
  return;
  }
//Use mutation event as a fallback
else if (!!document.addEventListener)
  {
  $(domnode).get(0).addEventListener("DOMNodeInserted", failState, false); 
  }
//Use readystatechange event for legacy IE
else
  {
  $(domnode).get(0).addBehavior("foo.htc");
  $(domnode).get(0).attachEvent("onreadystatechange", failState);
  }

参考文献

于 2012-09-13T18:10:13.543 に答える