Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

<preference> 要素リファレンス

概説

<preference> は設定を表現する要素で、ユーザ設定の項目とユーザインターフェイス要素との間を仲介するために使われます。

この要素は <preferences> 要素の直接の子要素として記述しなければいけません。

XUL構文

<preference id="pref_id" name="preference.name" type="int"/>

属性

id 
要素のid。これはユーザインターフェイス要素の preference 属性の値として使われます。
instantApply 
もし全体の設定が、設定の変更を即座に反映しないようになっていても、この設定の変更を即座に反映させるために、この属性の値を true にセットすることができます。
inverted 
type="bool" である要素に対してのみ適用)この値が true にセットされている時、関連づけられたユーザインターフェイス要素の値は反転されてユーザ設定に保存されます。
name 
この要素が制御する設定の名前(例えば、 <tt>browser.preferences.instantApply</tt> )。
readonly 
trueにセットした場合、関連づけられたユーザインターフェイス要素の値の変更は設定に影響しません。注意:この属性をtrueに設定しても、ユーザインターフェイス要素は無効化されません。もしこれが意図された動作であるなら、いったいどんなケースで役に立つというのでしょうか?
type 
設定の型。以下の値が利用可能です: int (整数値), bool (真偽値), string (Unicodeでない(ASCII)文字列), wstringnsIPrefLocalizedStringのような文字列), unichar (Unicode文字列), file (nsIFile)
※日本語版注記:つまり、日本語の文字列を保存させる場合はstringではなくunicharを指定する必要がある。

プロパティ

defaultValue (読み取り専用) 
その設定の既定の値を返します。このプロパティの型は、 type プロパティによって指定された値に依存します。
disabled (真偽値)
disabled 属性の値を設定/取得し、同時に、関連づけられたユーザインターフェイス要素の disabled プロパティも更新します。(しかし初期値は何も影響しないようですが??)
hasUserValue (読み取り専用、真偽値) 
その設定がユーザによって変更された値を持つ場合、 true を返します。
instantApply (読み取り専用、真偽値) 
この設定が 即座に反映される かどうかを調べるために使われます。この要素の instantApply 属性が true に設定されているか、もしくは <prefwindow>instantApplytrue である場合に、 true となります。(しかしbug 293439にも注意してください)
inverted (真偽値) 
inverted 属性の値を取得または設定します。
locked (読み取り専用、真偽値) 
この設定が ロックされている 場合、 true を返します。
name (文字列) 
name 属性の値を取得または設定します。
preferences (読み取り専用、DOMElement) 
<preferences> 要素の親要素。
readonly (真偽値) 
readonly 属性の値を取得または設定します。
tabIndex (整数値) 
tabindex 属性の値を取得または設定し、関連づけられたユーザインターフェイス要素のtabindex属性も更新します。(?? disabledのものと同じコメント)
type (文字列) 
type 属性の値を取得または設定します。
value 
その設定の現在の値。もし instantApply がONである場合、この値は常に valueFromPreferences の値に等しいです。さもなくば、これは関連づけられたユーザインターフェイス要素の現在の値(言い替えれば、現在ユーザが見ている値)です。
valueFromPreferences 
name 属性で指定されたユーザ設定に保存されている値を取得または設定します。

メソッド

type getElementValue(in DOMElement element); 
渡された値の現在の状態に基づいて、設定に書き込まれるべき値を取得します。このメソッドは onsynctopreference イベントハンドラを呼びます。
boolean isElementEditable(in DOMElement element) 
与えられた要素が "編集可能"(以下を参照)である場合に true を返します。
void reset(); 
設定を既定の値にリセットします。
注意: このメソッドは、まだその設定がユーザによって変更されていない場合、例外を投げます。(これは意図された動作なのでしょうか??)
void setElementValue(in DOMElement element); 
設定に保存された値に基づいて、渡された要素を初期化します。このメソッドは onsyncfrompreference イベントハンドラを呼びます。
void updateElements(); 
この設定を監視している全ての要素を更新します。

イベント

change 
設定の値が変更された時、onchange または change イベントが <preference> 要素において発行されます。あなたは必要に応じてこれをハンドルできます。

ドキュメントのタグと貢献者

 このページの貢献者: Piro
 最終更新者: Piro,