обратный вызов от Flashembed of JQuery Tools
-
26-10-2019 - |
Вопрос
JQUERY TOOLS включает API Flashembed, который принимает много параметров. Есть ли один, который принимает функцию обратного вызова и пожары после успеха события загрузки флеш -игрока?
playerdiv.flashembed(url+'/VIPlayer.swf','knds_player',300,250,'8.0.0',false,flashVars);
Информация: Официальный сайт.
Примечание: это возможно в Google Swfobject Library Как ниже:
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. Не могли бы вы мне помочь?
Заранее спасибо :)
Решение
Метод 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")
})
Это непреднамеренно стреляет как в успехе, так и в неудаче. Search for the ,
характер, чтобы различать два состояния. При ошибке он отображается как разделитель в строке версии, такой как 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);
}
использованная литература