Mozilla の DOM Reference を眺めてみよう

前へ 目次 次へ

 前回では Mozilla の DOM をベースに何かスクリプトを組んでみようと しても W3C の仕様だけでは情報が充分ではないことがわかりました。

そこで、今回は Mozilla の DOM をとりあえず眺めてみることにしましょう。


 Mozilla の DOM といっても、そのような仕様書があるわけではないので、 MDS Project の DOM Reference を見ることにします( 宣伝モード f^^; )。

Mozilla's DOM Sample Project
http://cgi.din.or.jp/~hagi3/JavaScript/JSTips/Mozilla/MDSProject.htm

このページから色々なバージョンの DOM が表示できますが、 そんなことは気にせずに今回は大雑把に眺めて何がわかるか見てみましょう。

1) NS**** って名前のクラスって何だろう?

リファレンスの "Alphabetical Index" を見ると NSDocument やら NSHTMLDocument やら、なんか NS を取ると W3C DOMにもあるクラス名があります。
例えば Document を例にとると Document クラスには W3C DOM で規定している プロパティが並んでいます。 しかし NSDocument の方は知らないプロパティもありますが、 width, height など なんか身に覚えのある名称もあります。

う〜ん。 どーやら NS が接頭語になっているクラス名は Mozilla で独自に追加しているプロパティで、 しかも、内容は W3C DOM の実装で十分でない機能を補完する機能 ( 従来の DOM の互換機能を含む )のようなものが含まれているようです。

ってことは、 W3C DOM で互換がないとしても Mozilla では互換のある部分が 結構ありそうだと思えます。 f(^^;; こりゃ、次回のネタにしようっと

2) Mozilla って W3C DOM Level2 サポートじゃないの?

よく世間の比較表などで CSS のサポートレベルの比較表で、 「こんなにサポートしているよ!」って表を見たりしますが、 CSS 関連の DOM が以外に実装されていない部分があることに気がつきます。
( 差分の一覧で W3C DOM にしかないクラスやプロパティです )

よく見ると、これらは W3C DOM Level2 の CSS に相当する部分で、 現在のスクリプトでよく使用されるものは HTML 関連の DOM のスタイルシートですから、 あまり問題にはならないでしょう。

そのような観点で差分をもう一度比較してみると CSS2Properties クラスには behaviorとか opacity といったプロパティがあったり、 CSSStyleRuleCollection と言った Mozilla 特有のクラスがあったりしています。

これらは 1) の NS接頭辞ルールに従っていませんし、ひょっとすると DOM Level3 のための実験的な実装かな? って気もしてきます。 f(^^;;

細かく見ると更に色々とわかったような気がしてきてそれなりに面白いのですが、 とにかく何か困ったら NS で始まるクラスのプロパティを眺めれば、 解決方法が見つかるかもしれないってことは収穫かもしれません(笑)。

次回は、やはり DOM Reference を参考にしながら、従来の DOM との気になる 互換性についてみてみましょう。

f(^^; # 今回は夏休みモードです
前へ 目次 次へ

戻る Copyright(c) 2000 ShinSoft All rights reserved.