coluli

安物のカメラ機材を使ったテスト撮影ばかりしています。

XHTML+Flash全画面

(こちらは旧blogのコンテンツです)

トップページをxhtmlXHTML 1.0 Transitional)で書き直したら、中に埋め込んだ全画面表示のFlashが表示されなくなってしまいました。

ちょっとググったら、原因はすぐわかりました(ホントにすぐに。改めて、検索は便利だなぁ......)。

高さおよび幅が 100 パーセントに設定された Macromedia Flash Player ムービー (SWF) が以下のブラウザで正常に表示されないことが確認されております。 (中略) XHTML コードで定義されている doctype および DTD がブラウザのレンダリングに影響を与えているのが原因です。 (中略) 回避策としては、HTML ファイルの上部に以下のような XHTML コードがあります。この XHTML コードを削除して対処してください。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
メモ: この回避策を適用したファイルは、XHTML に準拠したファイルでなくなりますのでご注意ください。 Adobe - Flash TechNotes : 100 パーセントに設定されている Flash Player ムービーが正常に表示されない

おいおい 、Adobeがそれでいいのか......。

いろいろ調べてみたら、 swffit を使えば、簡単に全画面表示ができるようでした。使ってみると確かに解決しますが、 swfobject日本語訳 )とあわせてふたつ、たかだかswfを埋め込むだけのために使うのもスマートでない気がしたので、もう少し調べると、cssに追加で記述すれば回避できることがわかりました。

cssにこちらを追加することで、あっさり解決しました。

body {
margin: 0;
padding: 0;
position: absolute;
width: 100%;
height: 100%;
}

以上です。

調べる途中でこちらのサイトも参考にさせてもらいました。