WYSIWYG : IEのDOMではobjectタグの中にあるembedタグを認識しない?

| comment(2) | trackback(0)

あいまいなタイトル。実のところ、詳しくはよくわかっていないのですが、どうもIEのDOMではobjectタグの中にあるembedタグは削ってしまうようなのである。謎なのです。

webアプリケーションでよくあるWYSIWYGエディタ(リッチテキスト)では、すごくざっくりいうと、Javascriptで入力フォームであるiframe中のHTMLをツールボタンのクリックなどのイベントにあわせて、書き換えて動かしている。言い換えると、ブラウザが持っている情報を引き出して、変更して押し込んで、というやりとりをしている。そのため、ブラウザ側で期待されるデータを出力してくれないと、エディタから情報が消えてしまったりする可能性がある。

たとえば<object classid=&guot;" ><embed></embed></object> というobjectタグの中にembedタグが入っている状態のタグをコピーしてWYSIWYGエディタで貼付けると、Firefoxでは貼付けたままのものが出力されるけれど、IEではembedタグが抜けた状態で出力される。

objectタグとembedタグを別々に使っている分には、特に問題ないように見受けられる。どうもobjectタグの中にembedタグが入るということをIEがDOM構造として認めていない(無視している)のではないだろうかと推察している。IE developer toolでDOMを見たところでも、objectタグに埋めたembedはどこにも表示されない。しかし確たる情報もなく、悶々としている。

トラックバック(0)

トラックバックURL: http://memolog.org/mt/mt-tb.cgi/678

コメント(2)

現時点(09/01/06)試してみたら、今度はobjectタグの方が消えて、embedタグの方が残っている。

IEのバージョンは6.0.29のSP2

http://d.hatena.ne.jp/thorikawa/20080824/p2/

objectタグにclassid属性が含まれているとembedタグの方が削除されるのか。

コメントする