<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IE4 DOM</anchor></dfn> は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IE4</anchor> (以降) で実装された <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> の通称です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</anchor>の一部にしかアクセスできないそれまでの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM0</anchor> とは一線を画し、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</anchor>を構成するすべての<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>の読み書きが可能であり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> を単なる文書共有ネットワークからハイパーテキストアプリケーションプラットフォームへと進化させるものでした。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">W3C</anchor> での<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">標準化</anchor>のために提出されましたが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">政治的理由</anchor>からそのままの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">標準化</anchor>ではなく、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メソッド名</anchor>などがまったく異なり一部の機能も欠いたものが <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM1</anchor>
となりました。そのため <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web開発者</anchor>は長年 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">W3C DOM</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IE4 DOM</anchor>
の互換性問題に悩まされることとなりました。</p><section><h1>W3C DOM に取り入れられたもの</h1><figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書木</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>オブジェクト・モデル)</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">reflect</anchor></li><li><code class="HTMLe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">table</anchor></code> オブジェクト・モデル</li><li><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">style</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor></li><li><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">currentStyle</anchor></code></li></ul></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM0</anchor> 時代の <code>Document</code> の <code>HTMLCollection</code> をそのまま残しつつ新たに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書木</anchor>の
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> が追加されたため、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">配列</anchor>とは似て非なる <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">live</anchor> <code>HTMLCollection</code>
と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書木</anchor>という二重構造が生まれることとなりました。</p></section><section><h1>他のブラウザーにも実装され、 WHATWG により標準化されたもの</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">W3C DOM</anchor> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">標準化</anchor>しなかった <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> の多くも、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web開発者</anchor>が多く使うこととなり、他の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>も対応せざるを得ませんでした。
結果10年の時を経て <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WHATWG</anchor> によって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">標準化</anchor>されることとなりました。</p><figure class="short list"><ul><li><code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">document.all</anchor></code></li><li><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">children</anchor></code></li><li><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">innerHTML</anchor></code></li><li><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">outerHTML</anchor></code></li><li><code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">insertAdjacentHTML</anchor></code></li><li>(<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">innerText</anchor></code>)</li><li><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">activeElement</anchor></code></li><li><code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">execCommand</anchor></code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DnD</anchor></li><li>(<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XMLHttpRequest</anchor></code>)</li></ul></figure></section><section><h1>その他</h1><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空白</anchor>のみの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">テキスト節点</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor> に現れない</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">expando</anchor></li><li>要素属性のオブジェクト・モデル<ul><li>要素の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容属性</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDL属性</anchor>は同じもの</li><li>存在する内容属性は要素の種類に関わらず共通</li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">開始タグ</anchor>を指定した <code>createElement</code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IE4事象モデル</anchor><ul><li><code>attachEvent</code></li><li><code>detachEvent</code></li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IE4 CSSOM</anchor></li></ul></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IE4 DOM</anchor> を含む <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor> の機能や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSS</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> といった現在でいう
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webプラットフォーム</anchor>のことを、特に新機能を強調して、当時は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DHTML</anchor> といいました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> 同じくバージョン4世代の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Netscape4</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor>
は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM0</anchor> の延長線上に <code>document.layers</code> などの拡張を施したもので、
こちらも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DHTML</anchor> と呼ばれ対立技術とされていました。
現代の視点からは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Netscape</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</anchor>の一部にしかアクセスできないままの不完全なもので、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IE4 DOM</anchor> の方がより柔軟で強力なものだといえますが、
当時はまだその真の力を理解していた人はほとんどいませんでした。</p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> 
<cite xml:lang="EN-US">DHTML Methods</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InetSDK</anchor>, <time>2024-08-17T06:06:42.000Z</time>, <time>2000-11-09T14:38:25.238Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20001109143300/http://www.msdn.microsoft.com/workshop/author/dhtml/reference/methods.asp#om40_methods">https://web.archive.org/web/20001109143300/http://www.msdn.microsoft.com/workshop/author/dhtml/reference/methods.asp#om40_methods</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> 
<cite xml:lang="EN-US">DHTML Collections</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InetSDK</anchor>, <time>2024-08-17T06:07:15.000Z</time>, <time>2000-11-15T08:00:45.554Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20001115075500/http://msdn.microsoft.com/workshop/author/dhtml/reference/collections.asp#om40_coll">https://web.archive.org/web/20001115075500/http://msdn.microsoft.com/workshop/author/dhtml/reference/collections.asp#om40_coll</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> (<time>2015-06-17 22:52:45 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://game.gr.jp/about/chkbrowser/getElementById.htm">http://game.gr.jp/about/chkbrowser/getElementById.htm</anchor-external></figcaption><blockquote><p>W3C-DOMのdocument.getElementByIdとIE4のDOM、それからNN4だけに実装されたlayersを見てブラウザを分岐する方法です。</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <cite xml:lang="EN-US">Working with Windows, Frames, and Dialog Boxes</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InetSDK</anchor>, <time>2024-08-17T06:14:00.000Z</time>, <time>2000-10-18T08:16:10.691Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20001018081421/http://msdn.microsoft.com/workshop/author/om/windows_frames_dialogs.asp">https://web.archive.org/web/20001018081421/http://msdn.microsoft.com/workshop/author/om/windows_frames_dialogs.asp</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <cite xml:lang="en">JavaScript - The IE 4 DOM</cite>
(<time>2015-06-17 22:53:23 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.tutorialspoint.com/javascript/javascript_ie4_dom.htm">http://www.tutorialspoint.com/javascript/javascript_ie4_dom.htm</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <cite xml:lang="EN-US">MSHTML</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InetSDK</anchor>, <time>2024-08-17T06:15:26.000Z</time>, <time>2000-11-20T05:03:06.043Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20001120050000/http://msdn.microsoft.com/workshop/browser/mshtml/mshtml.asp">https://web.archive.org/web/20001120050000/http://msdn.microsoft.com/workshop/browser/mshtml/mshtml.asp</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> 
<cite xml:lang="EN-US">Document Object Model Overview</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InetSDK</anchor>, <time>2024-08-17T06:19:56.000Z</time>, <time>2000-11-17T02:46:17.681Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20001117023900/http://msdn.microsoft.com/workshop/author/dom/domoverview.asp">https://web.archive.org/web/20001117023900/http://msdn.microsoft.com/workshop/author/dom/domoverview.asp</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> 
<cite xml:lang="EN-US">How to Build Tables Dynamically</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InetSDK</anchor>, <time>2024-08-17T06:25:22.000Z</time>, <time>2000-10-29T17:58:26.715Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20001029175821/http://msdn.microsoft.com/workshop/author/tables/buildtables.asp">https://web.archive.org/web/20001029175821/http://msdn.microsoft.com/workshop/author/tables/buildtables.asp</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> 
<cite xml:lang="EN-US">Dynamic Content</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InetSDK</anchor>, <time>2024-08-17T06:28:54.000Z</time>, <time>2000-11-17T04:55:17.486Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20001117044000/http://msdn.microsoft.com/workshop/author/dyncontent/content.asp">https://web.archive.org/web/20001117044000/http://msdn.microsoft.com/workshop/author/dyncontent/content.asp</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 
<cite xml:lang="EN-US">Web Workshop - Dynamic HTML Object Model Introduction</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Nancy Cluts</anchor>, <time>2024-08-17T06:32:38.000Z</time>, <time>2000-11-21T11:11:32.130Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20001121105100/http://msdn.microsoft.com/workshop/author/om/omdoc.asp">https://web.archive.org/web/20001121105100/http://msdn.microsoft.com/workshop/author/om/omdoc.asp</anchor-external></p></section></body></html>