@ledsun blog

無味の味は佳境に入らざればすなわち知れず

IE8向けのFlash埋め込み

作成したSWFファイルをIEの画面一杯に表示したい場合objectタグを使い以下のhtmlを作成します。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>ABC</title>
    <style type="text/css">body { margin: 0px }</style>
</head>
<body>
    <object width="100%" height="100%" type="application/x-shockwave-flash">
        <param name="movie" value="test.swf" />
    </object>
</body>
</html>

IE6ではこれで画面いっぱいに表示されます。赤い部分がFlashです。

IE8では高さ100%指定が正しく動作しません。

この場合IE8のレンダリングモードにQuirksを指定してあげれば正しく表示できます。
指定には次の二つの方法があります。

  • DOCTYPE宣言を削除する
  • headタグの子要素に次のmetaタグを追加すると正しく表示することが出来ます。
<meta http-equiv="X-UA-Compatible" content="IE=5" />

IE6向けのFlashサイトをIE8でも表示したい場合はこれで十分ですね。
これ以外の指定方法は次のサイトが参考になります。
http://www.atmarkit.co.jp/fdotnet/special/ie8review/ie8review_01.html