Domino では標準の JavaScript オブジェクトモデルがサポートされています。JavaScript オブジェクトモデルの詳細については、http://developer.netscape.com/tech/javascript、http://developer.netscape.com/docs/manuals/js/client/jsguide、http://msdn.microsoft.com/scripting を参照してください。
オブジェクトモデルのブラウザでの実装は、ブラウザにより異なります。Notes クライアントではいくつかの例外を除いてオブジェクトモデルを実装しています。Notes での実装については、http://www.lotus.com/ldd/doc で「Notes Release 5 Client Document Object Model」を参照してください。
JavaScript オブジェクトは次のセクションで説明されているように Domino の設計要素にマップしています。
ナビゲータ
navigator オブジェクトは現在開かれているフォーム、ページ、ビュー、フレームセットで有効です。appName、appCodeName、appVersion、platform、userAgent の各プロパティは呼出し元のブラウザや Notes クライアントで有効で、ベースとなる Domino Designer オブジェクトにかかわらず同じ情報を返します。
window
window オブジェクトは現在開かれているフォーム、ページ、ビュー、フォーカスのあるフレームセット内のフレームで有効です。例えば「Page1」と「Page2」という名前の 2 つのページと、「High」と「Low」の 2 つのフレームがあるフレームセットを設計するとします。「High」では「Page1」が、「Low」では「Page2」が開かれるとします。「Page1」だけを単独で開くと、window.status は「Page1」のステータスプロパティを示します。フレームセットを開くと、window.status は、フォーカスが「High」にあるときは「Page1」を、フォーカスが「Low」にあるときは「Page2」を示します。
frames
Domino のフレームは、名前または frames 配列を使用してアクセスできます。名前とは [フレームのプロパティ] インフォボックスで指定された名前です。フレームセットを示すウィンドウにアクセスするには window.top を使用します。例えば「High」と「Low」の 2 つのフレームがあるフレームセットでは、最初のフレームは window.top.High または window.top.frames[0] で参照できます。2 番目のフレームは window.top.Low または window.top.frames[1] で参照できます。
name プロパティは初期状態では Domino のフレーム名を格納しています。window が Domino のフレームを示していない場合は空です。
ネストした frames はネストした Domino のフレームセットを表します。例えば、「Low」フレームの中にはもう 1 つのフレームセット「Left」と「Right」が含まれるとします。「Left」を参照するには window.top.Low.Left か window.top.frames[1].frames[0]、または名前とフレーム要素のコンビネーションを使用します。
フレームの親ウィンドウにアクセスするには parent プロパティを使用します。前の例で、フレームセットのフォーカスが「Right」にあたっていると、window.parent は window.top.Low を参照しています。window.parent.Left は、その隣の window.top.Low.Left を参照しています。
history と location
history と location オブジェクトは、親ウィンドウが適用されるすべてに適用されます。
文書
document オブジェクトは現在開かれている Domino のフォーム、ページ、ビューの内容を表します。document オブジェクトには次のものが含まれます。
- applets 配列は Domino のアクションバー、ビュー、リッチテキストアプレット、そしてインポートしたアプレットを含みます。アプレットは HTML では <APPLET> タグで示されます。アプレットは例えば document.AppletName のように、[アプレット] インフォボックスの [HTML] タブで指定されている名前を使用して参照できます。
詳しくは、ヘルプトピック「アプレットを追加する」または『アプリケーション開発者ガイド』の「ページの設計」を参照してください。
- links 配列は Domino アクション、ホットスポットリンク、アクションホットスポットを含みます。これらは HTML では <A> タグとして示されます。アクションホットスポットは例えば document.HotspotName のように、[ホットスポット<ホットスポットの種類>] インフォボックスの [HTML] タブで指定されている名前を使用して参照できます。
Domino のホットスポットリンクはイベントハンドラを含みません。しかし [ホットスポットリソースリンク] インフォボックスの <HTML> タブの [その他] でハンドラを指定できます。
- images 配列は Domino の添付ファイル、イメージリソース、図形を含みます。これらは HTML では <IMG> タグで示されます。図形は例えば document.PictureName のように、[図形] インフォボックスの [HTML] タブで指定されている名前を使用して参照できます。
URL でデータベース名またはレプリカ ID とその後にイメージリソース名を指定して、Domino のイメージリソースを参照できます。例えば /Web+Test.nsf/newdam.gif のようになります。
- forms 配列は一般的に 1 つの要素 document.forms[0] named _DominoForm を持ちます。これは HTML では <FORM> タグで示されます。配列には、種類が Button、Text、Textarea、Password、Select、Radio、Checkbox、Hidden、FileUploadnamed であるオブジェクトを含む、名前付き要素の配列があります。
- Button オブジェクトは、HTML で <INPUT TYPE=button> タグとして示される Domino のボタンを表します。ボタンは例えば document.forms[0].ButtonName のように [ボタン] インフォボックスの [HTML] タブで指定されている名前を使用して参照できます。
- Text オブジェクトは、種類が Text、Date/Time、Number、Names、Authors、Readers の Domino のフィールドを表します。これらは HTML では <INPUT> タグで示されます。Text オブジェクトは例えば document.forms[0].FieldName のように Domino のフィールド名で参照できます。
- TextArea オブジェクトは、種類が RichText の Domino のフィールドを表します。HTML では <TEXTAREA> タグで示されます。TextArea オブジェクトは例えば document.forms[0].FieldName のように Domino のフィールド名で参照できます。
- Password オブジェクトは、種類が Password の Domino のフィールドを表します。これらは HTML では <INPUT TYPE=password> タグで示されます。Password オブジェクトは例えば document.forms[0].FieldName のように Domino のフィールド名で参照できます。
- Select オブジェクトは、種類が Dialog list、Listbox、Combobox の Domino のフィールドを表します。これらは HTML では <SELECT> タグで示されます。Select オブジェクトは例えば document.forms[0].FieldName のように Domino のフィールド名で参照できます。
- Radio オブジェクトは、種類が Radio button の Domino のフィールドを表します。これらは HTML では、<INPUT TYPE=radio> タグで示されます。Radio オブジェクトは例えば document.forms[0].FieldName のように Domino のフィールド名で参照できます。
- Checkbox オブジェクトは、種類が Checkbox の Domino のフィールドを表します。これらは HTML では <INPUT TYPE=checkbox> タグで示されます。Checkbox オブジェクトは例えば document.forms[0].FieldName のように Domino のフィールド名で参照できます。
- Hidden オブジェクトは、[段落を非表示にする文書] 属性が選択されているときに、Domino のフィールドオブジェクトを表します。非表示フィールドは、[フォームのプロパティ] インフォボックスの [すべてのフィールドに HTML を生成する] が選択されている場合は、フィールドの種類に関わらず HTML では <INPUT TYPE=hidden> タグで示されます。選択されていない場合は、非表示フィールドはブラウザから JavaScript にアクセスできません。Notes クライアントでも、非表示フィールドは JavaScript にアクセスできません。Hidden オブジェクトは例えば document.forms[0].FieldName のように Domino のフィールド名で参照できます。
- FileUpload オブジェクトは、Domino のフィールドの種類を直接表現できません。ブラウザでは、例えば種類が Text のフィールドを作成し、インフォボックスの [HTML] タブで [その他] に「INPUT TYPE=file」を指定することでこのオブジェクトを生成できます。FileUpload オブジェクトには Notes クライアントではアクセスできません。
Domino の各フィールドの名前は大文字小文字を区別します。編集モードではブラウザ上で、Hidden オブジェクトの欄で説明されている制限付きの場合は Notes クライアント上で、Domino のフィールドは JavaScript にアクセスできます。読み込みモードでは、[フォーム] インフォボックスで [すべてのフィールドに HTML を生成する] が選択されている場合を除いては、ブラウザで Domino のフィールドは JavaScript にアクセスできません。読み込みモードでは、Notes クライアントで、Domino のフィールドは JavaScript にアクセスできません。