get_innerHTML関数の仕様は?

[新着] Webテンプレートを仮オープンしました



0   名前: 匿名 : 2006/08/14(月) 12:09  ID:1fHAja7i
IEコンポーネントであるIHTMLElement2のget_innerHTML関数により下記のような書式のHTMLファイル(元のHTML)を取得すると、Flash表示部分の記述のobjectタグが包含しているParam要素が削除されてしまいます(取得後のHTML)。
これはHTMLの書き方に問題があるのか、それともget_innerHTML関数の仕様であるのか教えて下さい。

[HTML取得部分]
hr = element->get_innerHTML(&origHtml);

[元のHTML]
<div style="width: 320px;" class="image alignleft">
<object width="320" height="150" type="application/x-shockwave-flash" data="○○.swf">
<param name="quality" value="high" />
<param name="movie" value="○○.swf" />
<img width="320" height="150" src="△△.jpg" alt="□□" class="bordernone" />
</object>
</div>

[取得後のHTML]
<DIV class="image alignleft" style="WIDTH: 320px">

<OBJECT type=application/x-shockwave-flash height=150 width=320 data=○○.swf>



<img width="320" height="150" src="▲▲.jpg" alt="□□" class="bordernone" />

</OBJECT></DIV>

1   名前: sevi- : 2006/08/14(月) 12:09  ID:PQukhZTw
おそらく仕様と思われる.
尚、IE以外でinnerHTMLに対応するブラウザだとちゃんと表示されるようだ.

が、一応DOM上ではノードの確認は可能なので、対象objectの子ノードを
取得した後、outerHTMLプロパティを利用すればHTMLは取れる.

なので、innerHTMLを使わず、DOMを利用しコードを取得する専用の
関数を作成し、それを用いてコードを取得するようにすれば良いと考える.

sevi-

一覧へ戻る