1

jQuery Tools 包含一个 flashembed API,它接受许多参数。是否有一个接受回调函数并在 Flash 播放器加载事件成功状态后触发?

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

资料:官网

注意:这在Google swfobject 库中是可能的,如下所示:

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")
   })

它无意中触发了成功和失败。搜索,字符以区分这两种状态。出错时,它显示为版本字符串中的分隔符,例如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 回答