【備忘録】Flash-ExternalInterfaceがIEでエラー
ハマったので、備忘録。
Flashをdocument.writeじゃなくてinnerHTMLでインサートする場合に、
ExternalInterface.addCallbackを使ってJS→ASをしようとすると、
IEで「オブジェクトでサポートされていないプロパティ...」ってエラーが返ってきます。
最初はobjectタグとembedのとIDの重複やら、プロパティやらを疑って色々やってみるも不発。
でも通常のサンプルは動くみたいなので、原因を追求していく。
で、限定された部分がdocument.writeかinnerHTMLか。
"externalInterface innerHTML"でググって、答え発見。
下記を参照しました。
jiroの日記 ■[ActionScript][JavaScript]ExternalInterfaceのまとめ
スクリプトで動的に要素を追加する場合には注意が必要
例えばobjectタグのコンテナであるdivタグを生成した直後にobjectタグを追加すると動作しないdivタグを生成して、DOMツリーに登録されてから処理しないといけない
例えば下のようなかんじでinnerHTMLへの代入は遅延させなければいけない。ちなみにsetTimeoutすれば、必ずbodyにdivタグが追加されたあとにinnerHTMLが実行される
前にもinnerHTMLでスクリプト動かないので悩んだので、これでスッキリしました。
sukesamさん、ありがとうございます!
最近DOMDOMDOMDOMしてるけど、ブラウザ毎の判別やら対処がめんどくせえっす。
統一しておくれ(;´_ゝ`)
MyminiCity そだってきた!
町が!町が!そだってきました。
しかし、失業率や交通が・・・
で回復します!
コマンド制覇までがんばるどー!
MyMiniCity雑感
とりあえずためしてみての感想。
今だけかもしれないけど・・・・気になる!w
ちょこちょこのぞいちゃったり、アクセス増やすためになんかしようという気になったら、
もうやられてる証拠。
きっといろいろ理由があるんだろうけど、
単純明快でシンプル、そして登録も超簡単。
そんなとこが好循環している感じ。
アクセスを稼ぐために、MyMiniCityの紹介記事を書く人が続出し、
広がっていってる感じですね〜。
え、お、オレは全然気になってないし、
こんなのに夢中になる人の気持ちがわからんよ!ホントなんだから!
あ、そういえばto-Rさんにて、
MyMiniCityを楽しむためのGMスクリプト
なんかも公開されてます。早いです、さすが。
・・・でも僕はメインIE7だし、FFもグリモン使ってなくて悔しいので、
to-Rさんのをブックマークレットにしてつかってます。
とりあえずIE7とFFで動いてるので、いっか。
・・・ア、アクセスが欲しいとか、to-Rさんがうらやましかったんじゃないからね!