私はこのガイドに従って、新しいJSからフラッシュへの通信を作成しました。
私のコードは
function getID( swfID ){
if(navigator.appName.indexOf("Microsoft") != -1){
me = window[swfID];
}else{
me = document[swfID];
}
}
function js_to_as( str ){
me.onChange(str);
}
しかし、時々、onChange
がロードされません。Firebugでは
Me.onChangeは関数ではありません。
これは私のプログラムで最も重要な機能ではないので、潔くデグレードしたいと思います。typeof`でも同じエラーが出ます。
存在することを確認した上で、onChange
のみを実行する方法について、何か提案はありますか?
(try catch oneを除く以下の方法はどれも動作しません)
このようにしてみてください。
if (typeof me.onChange !== "undefined") {
// safe to use the function
}
あるいは、(UpTheCreekのupvotedコメントのように)もっと良い方法があります。
if (typeof me.onChange === "function") {
// safe to use the function
}