implementation | NN 6 IE 5(Mac)/6(Win) DOM 1 | ||
implementation オブジェクト (JavaScript による W3C DOMImplementation オブジェクトの参照) には、ドキュメントのコンテナを構成している環境 (つまりブラウザ) がある程度反映されています。このオブジェクトは、document.implementation プロパティを介して操作できます。 |
|||
このオブジェクトのメソッドを使用すると、ブラウザの通知機能がサポートしている DOM モジュールを確認できます。また Netscape 6 の場合、このオブジェクトは、現在のドキュメントツリーの外部に W3C の仮想的な Document オブジェクトおよび DocumentType オブジェクトを作成する際の開始点にもなります。このため、Netscape 6 では、document.implementation プロパティを始点として、外部の XML ドキュメント向けの非表示ドキュメントを作成できます。 |
|||
オブジェクト参照 | |||
document.implementation |
|||
オブジェクト固有のプロパティ | |||
なし |
|||
オブジェクト固有のメソッド | |||
|
|||
オブジェクト固有のイベントハンドラープロパティ | |||
なし |
createDocument() | NN 6 IE なし DOM 2 |
createDocument("namespaceURI", "qualifiedName", docTypeReference) | |
新たに作成された W3C DOM の仮想的な Document オブジェクトへの参照を返します。このオブジェクトは、HTML ドキュメントの document ノードではありません。Netscape 6 では、load() メソッドにより、この Document オブジェクトが拡張されており、XML ドキュメントをブラウザに読み込めるようになっています。ただし、このドキュメントはユーザーには表示されません。次に、スクリプトを通じて、データソースである XML ドキュメントのドキュメントツリーにアクセスして、情報を HTML ドキュメント内に表示することができます。外部の XML ドキュメントを読み込む場合は、次のように、3 つのパラメータの値が空白となっている Document オブジェクトを作成できます。 var myXDoc = document.implementation.createDocument("", "", null); |
|
外部のドキュメントを読み込む場合、関連する名前空間と DOCTYPE はすべて、ドキュメントのコンテンツによって制御されます。その例については、第 5 章の 5.9.2 項を参照してください。 |
|
パラメータ | |
|
|
戻り値 | |
空の Document オブジェクトへの参照 |
createDocumentType() | NN 6 IE なし DOM 2 |
createDocumentType("qualifiedName", "publicID", "systemID") | |
新たに作成された W3C DOM の仮想的な DocumentType オブジェクトへの参照を返します。このメソッドから返されたオブジェクトは、DocumentImplementation.createDocument() メソッドで使用できます。 |
|
パラメータ | |
|
|
戻り値 | |
Document オブジェクトと関連付けられていない DocumentType オブジェクトへの参照 |
hasFeature() | NN 6 IE 5(Mac)/6(Win) DOM 1 |
hasFeature("feature", "version") | |
ブラウザアプリケーションが、パラメータで指定されている W3C DOM のモジュールやバージョンに対応している場合 (つまり、仕様に準拠している場合) にブール値 true を返します。これと密接に関連する isSupported() メソッドでは、同じ検査を個々のノードで実行できるため、現在のノードタイプでサポートされている機能を確認できます。この 2 つのメソッドのパラメータ値は同じです。 |
|
ブラウザに実装されている DOM が各モジュールに適合しているかどうかを確認した上で、true の値を返す処理をどのように行うかは、ブラウザのメーカーに委ねられています。true が返されたといって、それが必ずしも、バグがないこと、または他の実装と整合性があることを意味するものではありません。スクリプト作成者側で注意が必要です。 |
|
理論上は、プロパティへのアクセスやメソッドの呼び出しに先立って、このメソッドを使用することにより、モジュールのサポート状況を確認できます。次に示すのは、ドキュメントのヘッダ部分のスクリプトで、外部スタイルシートへの動的なリンクにより、CSS2 のサポートが "true" になっています。 var cssFile; if (document.implementation.hasFeature("CSS", "2.0")) { cssFile = "styles/corpStyle2.css"; } else { cssFile = "styles/corpStyle1.css"; } document.write(<link rel='stylesheet' type='text/css' href='" + cssFile + "'>");" |
|
要素別のメソッドよりも、このようなブラウザ全体に及ぶメソッドをサポートするブラウザが増えており、開発者による展開を効率化することに役立つと考えられます。 |
|
パラメータ | |
|
|
戻り値 | |
true または false のブール値 |