例えば次のような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は出現しない。

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

3.Opera 9
Firefoxとの差は、</body>直後の改行がBODYノード直下に構成されること。

4.Safari 2.0
Opera9と全く同じ構成。

5.MacIE 5
Firefox2と全く同じ構成。

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








Trackback URL
Post a Comment