IEではImageオブジェクトに対してのinstanceofがうまくいかない?
yukiinu2ndです。
たまたま自分で作成したJavascriptをIEで動作確認していたのですが、Firefoxで動くのにIEで動かないという謎の現象が起きてしまいました。
該当部分は以下のようになっています。
if(target instanceof Image){//←問題の箇所はここ! if(target.complete) return true; else return false; }
実際の物とは違いますが、やりたかったのは投げ込まれたのがImageオブジェクトかどうか確認することです。
どういう訳か、IEではinstanceof Imageのところでエラーが出てしまいます。
結局、いい方法が思い浮かばず、色々検索した物の見つからなかったので以下のような方法で逃げることにしました……。
//if(target instanceof Image){ if(typeof target == "object" && typeof target.hspace != "undefined" && typeof target.vspace != "undefined"){ if(target.complete) return true; else return false; }
ただ、上記のコードでは他にhspaceやvspaceを持っているオブジェクトの場合も条件を満たしてしまいます。
とりあえずはこれでよいとしても、他に何か良い方法はないでしょうか……。