swfobject2.2のFlashがFirefoxで表示されない...。その2
()
※その1はこちら
Flash100%表示するとき、HTMLにファイルにDOCTYPE宣言を行っていると、Firefoxではflashが表示されなくなってしまうバグ。
Flash100%表示するとき、HTMLにファイルにDOCTYPE宣言を行っていると、Firefoxではflashが表示されなくなってしまうバグ。
どうやらバグとして有名な話らしいですが、
僕は本格的にFlashを使い始めたのが遅かったので、おととい知りました。
今後も必須知識となりそうなのでメモ。
DOCTYPE宣言取っちゃえばいいなんて言うアドビ。
そんなの気持ち悪くて無理。
fladdictさんがDOCTYPE宣言したままflashを表示する策を書いてくれています。
http://www.fladdict.net/blog-jp/archives/2005/03/firefoxflash100.php
でもいまどきXHTML形式で書けないのもなぁ...。
いやいやこんな偉大な先輩が今でもそうするはずは当然なく、
2005年の記事なんで...そういう時期だったのかなぁという感じです。
今は、XHTMLのDOCTYPE宣言で、xml宣言もした上で、
ちゃんとflashを表示できるようになってました。
僕の場合、
swfobjectを使い、swfファイルを埋め込みました。
もちろんwidthとheightを100%にした上で。
あとはびっくり、CSSをいじれば直りました。
swfobjectで指定した、swfファイルを埋め込むdivに対し、以下のスタイルを適用します。
#main {
height:100%;
width:100%;
position:absolute;
left:0;
top:0;
overflow:hidden;
}
こんな感じ。
もうこれでOK。
(overflowは無くてもいけましたが、いろんな参考サイトではほとんどが入れてました。)
ビーチボーイズアプリ第2弾はこれで無事バグから回復しました。
該当部分ソースは以下のようになってます。
Javascript
CSS
こんな感じ。
こういうのって、本に載ってないんだよなぁ。
なんでなんだろ。
【参考】

