スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[Javascript+Flash]環境依存メモ

Flash(Actionscript)をJavascriptから操作するというようなことをやっていて
いくつか環境依存な問題が発生したので、メモしておきます。

1)AsからJsに提供する関数名は、Js側で定義済の関数名と重複するとNG(IE)

JavascriptからActionscriptを呼べるように
Actionscript側で以下のような方法で関数を公開することができます。

ExternalInterface.addCallback("hoge", fuga);

上記のhogeと同名の関数がJavascript側に定義されているとIEでエラーが発生しました。



2)Flashを子に持つdiv要素の幅と高さを小さくしたらFlashが消えた(IE6)

Flashをdiv要素の子として配置し、幅や高さを縮めるというようなことをしていたのですが、
ある大きさよりさらに縮めようとした場合、いきなりFlashが消えるという現象が発生しました。

結果的には、div要素のスタイルに、「overflow:hidden;」を設定することで回避できました。

例えば、IEで空のブロック要素を用意した場合、幅や高さを縮めても一定以下には縮まりません。

<div style="width:5px;height:5px"></div>

これは、IEは文字が入っていなくても文字の大きさ分だけサイズを確保しようとするのだとか。
これを狙い通り縮めるには、overflowを設定する必要があります。

空のブロック要素の場合は、単に縮まらないだけなのですが
Flashを子に持つ場合はFlashにまで悪影響を及ぼしてしまうようでした。



3)wmodeを設定する場合は、Flashを表示領域内に配置する(Win + Fx)

透明なFlashを用意して、「top:-100px;left:-100px」として表示領域外に
配置していたのですが、WindowsのFirefoxだけなぜかFlashが動いてくれないという
現象が起きました。

どうやらwmodeを設定する場合には、ブラウザの表示領域にFlashがこないと
レンダリングされないようです。

参考:http://d.hatena.ne.jp/Cherenkov/20090321/p1

透明である必要はなかったので、wmodeの設定をやめたら無事動きました。


コメントの投稿

非公開コメント

プロフィール

jou4

Author:jou4
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。