object.appendChild(embed)できない

なんで、IEだとこれがダメなのだろう。

var object = document.createElement("object");
var embed = document.createElement("embed");
object.appendChild(embed);

YouTubeみたいなFlashのタグをDOMで整形するのは何かに違反しているのかな。FirefoxとかOperaだと動く。IEの場合はFlash動かすだけならembedを描画するだけでも動くっぽいけれど、気持ち悪い。

4件のコメント

  1. こんばんは。リンク先見てみました。
    今回の話は「objectにparamは入るが、embedは入らない」ということですので、ちょいと違いますね。
    あと、objectにはscriptとかdivとか他のタグも入らないので、paramタグ以外はダメという仕様なのかなと。もちろん、DTD準拠ならそれで良いという話なのかもですが。

  2. そっか。引数としてとれるかどうかって話ですね。
    しかも、ブラウザで現象が違うと。
    ご説明ありがとうございました。

  3. しかたがないので私は,objectの中のembedはFirefoxかどうか判断して条件つけてやっています。

コメントする

メールアドレスが公開されることはありません。