IDL List

Table of Contents: DOM Support Report - Cross Tips:

Introduction:

W3C DOM 仕様の IDL 定義を元に、ご使用の UA の JavaScript における DOM 標準の実装状況を見るスクリプト。新規ウィンドウを開き、このウィンドウ内の文書の DOM にアクセスするようになっている。

Win98、 Mozilla/2001020104 及び Internet Explore 5.5 にて動作確認。 IE5.0x で動作するかは不明だが、 ECMAScript 3rd Edition 及び DOM1 がまともに実装されていれば 問題なく動作するはずである。 Netscape4.x は DOM Level1 以降には明らかに対応していないのでこのスクリプトは動作しない。

Usage:

このスクリプトには2つのモードがある:

オブジェクト表示モード(デフォルト) :
このモードでは、 document オブジェクトを基点としてオブジェクトツリーを移動しながら 仕様に定義されたプロパティ(属性)やメソッド(命令)の 現在のオブジェクトでの実装の有無、及びその値を閲覧する。
プロパティのうち、その値がオブジェクトであり、インターフェイスが仕様で定義されているものは プロパティ名をクリックするとオブジェクトツリーを下りる。 ※ IE の場合、document.styleSheets.item(n) で rules プロパティが表示されるが、 これは例外的にこのスクリプトで追加したものであり DOM2 の CSSStyleSheet インターフェイスに rules アトリビュート は実際には定義されていない。
オブジェクトがプロパティに length を持ち、 メソッドに item() を持つリスト型である場合は 0..length-1 を引数とする item メソッドの値をそれぞれ表示する。 その値がオブジェクトであり、インターフェイスが仕様で定義されているものは item(n) をクリックするとオブジェクトツリーを下りる。 ※ ここで表示される値は、 item メソッドの戻り値が持つ nodeType, nodeName 等のプロパティからオブジェクト名を推測したものである。
"Parent" ボタンで一つ上のオブジェクトに戻る。
"Start" ボタンで最初のオブジェクトに戻る。
インターフェイス表示モード :
このモードでは、実装の有無に関係なく単に仕様に定義されたインターフェイスを閲覧する。
"Current" ボタンでオブジェクト表示モードに戻る。
共通操作 :
"Properties" タブをクリックすると定義されているプロパティを表示する。
"Methods" タブをクリックすると定義されているメソッドを表示する。
下線の引かれているインターフェイスのクリックで、インターフェイス表示モードに移行する。
凡例 :
赤字(className='disable') は undefined が返ってくるもの。 IDL的には使用可能なはずなのだが、そのUAでは未サポートと思われる( 正しく動作するかどうかはまた別 )。 ※オブジェクト表示モードのみ
黄字(className='exception') は例外が発生した為に 通常の値を取得できなかったもの。不正な値であったり、そのUAでは未サポートであると思われる。 ※オブジェクト表示モードのみ
灰字(className='null') はその値が空文字列や null、0 であるもの。 ※オブジェクト表示モードのみ
青背景(className='readOnly') は読出し専用プロパティ。
緑字(className='interfaceType') はプロパティ及びメソッドの戻り値のインターフェイス。
青字(className='inherit') はそのプロパティ及びメソッドの継承元インターフェイス。
黄背景(className='raises') は例外の発生するメソッド。

Note:

このスクリプトは基本的に table を用いて表示している。 しかしそれによりリソース不足が発生する場合は HTML 呼出時に list=1 という引数をつけることで ul 要素で代用表示できる。 制作者の環境では IE で table 表示を選択すると非常な高確率でクラッシュする為、 IE では強制的に ul 表示を行うようにしている。 このため表示形式に多少の差が出ることがある。

DOM Level 2 Style, Events, Range, Traversal, Views については 充分にドキュメントを読めていないので、間違いがある可能性が多分にある。

Sample HTML:

スクリプトの動作確認用サンプル。

<img src="./viewdom/plus.gif" alt="sampleImage" title="sampleimage" width="16" height="16" />

IE5以外のブラウザはこの行が表示されます。IE5では表示されません。

この部分は INCLUDE ……表示/解釈されます。

]]> この部分は IGNORE ……無視されます。

]]> はタグの区切り子としては解釈されません。 & なんて書くとそのまま & と表示されますし、 ]]>
caption
cell1
cell1
cell2
cell1
eval( '' )
;
  1. Ordered List I
  2. Ordered List II
  3. Ordered List III
  4. Ordered List IV
  5. Ordered List V

Files:

このスクリプトで使用しているファイル等。

idl-list.html
スクリプトの呼出元 HTML。idl-list.html?idl=dom1 のように 引数をつけて呼び出すことで IDL の定義ファイルを選択可能。 基本的には自分自身の document オブジェクトを参照するが window.opener が存在する場合は window.opener.document を優先的に参照する。
idl-interface.js
IDL データのオブジェクト定義スクリプト。またこのファイルから js ファイルを呼び出す script 要素を2つ記述している。
dom1_idl.js.gz
DOM Level 1 IDL のデータファイル。
dom2_idl.js.gz
DOM Level 2 IDL のデータファイル。
idl-list.js.gz
リスト表示及び UI 記述スクリプト。
idl-list.css
リスト表示及び UI スタイル定義。

ローカルで使用する際には .js.gz ファイルは .js にリネームが必要。

History:

8 Feb 2001
初版
28 Feb 2001
スクリプトとドキュメントを別ページに分離。DOM Level を選択可能にする。 UI 及び ドキュメントを 全面的に改定。ちょっち XUL タッチ(笑)

Issued: / Revised: / All rights reserved. © 2001-2017 TAKI