49

WHATWG のHTML5 - Web 開発者向けの技術仕様を読んでいると、次のような多くの参照が表示されます。

IDL 属性へのコンテンツ属性の反映

一部の IDL 属性は、特定のコンテンツ属性を反映するように定義されています。これは、取得時に IDL 属性が content 属性の現在の値を返し、設定時に IDL 属性が content 属性の値を指定された値に変更することを意味します。

と:

準拠文書では、body 要素は 1 つだけです。document.body IDL 属性により、スクリプトはドキュメントの body 要素に簡単にアクセスできます。

body 要素は、イベント ハンドラーのコンテンツ属性として、Window オブジェクトの多数のイベント ハンドラーを公開します。また、イベント ハンドラの IDL 属性もミラーリングします。

私の (確かにあいまいな) 理解は、Windows の世界から来ています。.idl ファイルは、n 層の分散アプリでリモート プロシージャ コールをマップするために使用されると思います。content 属性は html 要素の属性を参照していると思います。

「コンテンツ属性」および「IDL 属性」という用語のこの使用法を説明している、私が見ることができる標準の場所はありません。これらの用語の意味と、2 種類の属性がどのように関連しているかを説明できる人はいますか?

4

1 に答える 1

63

IDL(インターフェイス定義言語)は、WebIDL仕様に基づいています。

このドキュメントでは、Webブラウザに実装することを目的としたインターフェイスを記述するために使用できるインターフェイス定義言語WebIDLを定義しています。Web IDLは、Webプラットフォームでの一般的なスクリプトオブジェクトの動作をより簡単に指定できるようにする多くの機能を備えたIDLバリアントです。Web IDLで記述されたインターフェースが、ECMAScript実行環境内の構成にどのように対応するかについても、このドキュメントで詳しく説明します。

コンテンツ属性は、マークアップに表示される属性です。

<div id="mydiv" class="example"></div>

上記のコードではid、とclassは属性です。通常、コンテンツ属性には対応するIDL属性があります。

たとえば、次のJavaScript:

document.getElementById('mydiv').className = 'example'

classcontent属性を設定するのと同じです。

JavaScriptテキストでは、IDL属性はDOMオブジェクトのプロパティとしてJavaScriptに公開されるため、プロパティと呼ばれることがよくあります。

通常、コンテンツ属性とIDL属性/プロパティの対応するペアがありますが、必ずしも互換性があるとは限りません。たとえば、<option>要素の場合:

  • content属性は、オプションの初期selected状態を示します(ユーザーがオプションを変更しても変更されません)。
  • プロパティは、コントロールの現在の状態をselected反映します
于 2012-09-10T15:52:20.393 に答える