IEでObjectを動的生成すると動かない、の対策

SWFObject などで Object タグを動的に生成した時、IE7 以降では表示がうまくいかない場合があります。

まずタグがちゃんと生成されているか innerHTML などでチェックします。生成されていなければ引数などを確認しましょう。

ちゃんと生成されていて他のブラウザでは見えるのに IE では見えない、動画を埋め込んだのに再生されないといった場合は、Object が描かれた後に再描画を伴う何かをすると解決する事が多いです。

<div id=”A”></div>

<script type=”text/javascript”><!–
 var O = new SWFObject(“hoge.swf”, “fuga”, “100%” , “100%” , “9.0.0”, “#ffffff”);
 O.write(“A”);

 document.getElementById(‘A’).style.margin = 0 ; //←これ
// –></script>

この例では margin = 0 としましたが、もちろん他の宣言でもOK。
与える値は元と同じでもOK。
とにかく与えればOK

あとは、WIndows XP SP3 以降とVistaで導入された保護モードが悪さをしている可能性があります。保護モードを無効にして動くかで切り分けできますね。
こちらの解決方法はまだわかっていません。