Ich habe diese Anleitung befolgt, um eine neue JS-to-Flash-Kommunikation zu erstellen.
Mein Code ist
function getID( swfID ){
if(navigator.appName.indexOf("Microsoft") != -1){
me = window[swfID];
}else{
me = document[swfID];
}
}
function js_to_as( str ){
me.onChange(str);
}
Aber manchmal wird mein onChange
nicht geladen. Firebug-Fehler mit
me.onChange ist keine Funktion
Ich möchte anmutig degradieren, weil dies nicht die wichtigste Funktion in meinem Programm ist. typeof
gibt den gleichen Fehler.
Irgendwelche Vorschläge, wie man sicherstellt, dass es existiert und dann nur onChange
ausführt?
(Keine der folgenden Methoden außer try catch one funktioniert)
Versuchen Sie so etwas:
if (typeof me.onChange !== "undefined") {
// safe to use the function
}
oder noch besser (gemäß dem von UpTheCreek hochgestimmten Kommentar)
if (typeof me.onChange === "function") {
// safe to use the function
}
function js_to_as( str ){
if (me && me.onChange)
me.onChange(str);
}
Ohne Bedingungen
me.onChange=function(){};
function getID( swfID ){
if(navigator.appName.indexOf("Microsoft") != -1){
me = window[swfID];
}else{
me = document[swfID];
}
}
function js_to_as( str ){
me.onChange(str);
}