Single Article

ブラウザによるDOMノード出現の仕方

例えば次のようなXHTML文書が合った場合に、各ブラウザがノード、特にホワイトスペースノードをどのように生成するのか実験してみた。

HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="ja" xml:lang="ja">
<head>
<meta http-equiv="content-type" content="text/html;charset="Shift_JIS" />
<title>DOMノードテスト</title>
</head>
<body>
<h1>H1要素</h1>
<p>P要素の中の<img xsrc="test.gif" alt="test.gif" />IMG要素の後</p>
</body>
</html>

以下ではホワイトスペース(以下”WS”)の発生だけ見るので、<body>ノード以下のみをDOMツリーで見せる。

1.Internet Explorer 6 及び 7

WSは出現しない。
DOM_IE.gif
2.Firefox 2

<body>直後の改行、</h1>直後の改行、および</p>直後の改行がWSとしてノードを構成する。
DOM_FF.gif
3.Opera 9

Firefoxとの差は、</body>直後の改行がBODYノード直下に構成されること。
DOM_Opera.gif
4.Safari 2.0

Opera9と全く同じ構成。
DOM_Opera.gif
5.MacIE 5

Firefox2と全く同じ構成。
DOM_FF.gif

以上のことから言えることは、<body>..</body>内に限って言えば、IE6とFirefox2とOperaでノード操作をシミュレートしておけば、SafariとMacIEでも大丈夫ということ。

Related Posts

Trackback URL

Post a Comment

Your email is never published nor shared.