JavaScript講座第5回
オブジェクト
今回はオブジェクトについての講座です。ひたすらオブジェクトの解説を行うことになります。全ては説明できないので、代表的なオブジェクトに限定させていただきます。オブジェクトってなに?という人の為に少しだけ解説します。例えばブラウザのウィンドウ自体はwindowオブジェクトです。画面に表示されるもの全てはオブジェクトと言えるかもしれません。ブラウザウィンドウを操作するにはwindowオブジェクトを使えば操作できます。
windowオブジェクト
ブラウザウィンドウ自体のオブジェクト。documentオブジェクト、frameオブジェクト、historyオブジェクト、locationオブジェクト等の多くのオブジェクトを含んでいます。最上層のオブジェクトなので"window"は省略可能ですが"open()"や"close()"等、他のオブジェクトと同じ名称のコマンドもあるので混乱を避けるため"window"を記述したほうが良いでしょう。代表的なプロパティとメソッドを列挙します。プロパティとはそのオブジェクトの設定のことだとおもってください。メソッドはそのオブジェクトが持っている命令です。
プロパティ(よく使うのはdocument、locationプロパティです。)
| プロパティ | 説明 | もっと説明 |
| document | documentオブジェクト | <body>〜<body>のオブジェクト |
| Frame(s) | Frameオブジェクト及び配列 | Framesetを用いたときのフレームオブジェクト |
| history | historyオブジェクト及び配列 | 戻るボタンをクリックしたときのアドレスを覚えているオブジェクト |
| location | locationオブジェクト | 現在のアドレス。このオブジェクトのhrefプロパティを変更すればそのアドレスにページを移せます。 (例1)location.href="http://www3.ocn.ne.jp/~mamo" 例1、2は同じ動きをします。 |
| innerHeight | ウィンドウの表示領域の高さ(ピクセル) | 現在のウィンドウの表示領域の高さをピクセル単位で持っています。 |
| innerWidth | ウィンドウの表示領域の幅(ピクセル) | 現在のウィンドウの表示領域の幅をピクセル単位で持っています。 |
| locationbar | ロケーションバー | ロケーションバーを表示したり表示しなかったりできます。 |
| menubar | ウィンドウのメニューバー | メニューバーを表示したり表示しなかったりできます。 |
| outerHeight | ウィンドウの外周の高さ | 現在のウィンドウの外周の高さをピクセル単位で持っています。 |
| outerWidth | ウィンドウの外周の幅 | 現在のウィンドウの外周の幅をピクセル単位で持っています。 |
| pageXOffset | ウィンドウのX座標の位置 | ブラウザウィンドウのX座標です。変更すれば当然ウィンドウを動かすことができます。 |
| personalbar | ウィンドウのY座標の位置 | ブラウザウィンドウのY座標です。変更すれば当然ウィンドウを動かすことができます。 |
| scrollbars | ウィンドウのスクロールバー | スクロールバーを表示したり表示しなかったりできます。 |
| statusbar | ウィンドウのステータスバー | ステータスバーを表示したり表示しなかったりできます。 |
| toolbar | ウィンドウのツールバー | ツールバーを表示したり表示しなかったりできます。 |
メソッド
| メソッド | 説明 |
| alert() | 警告用ダイアログボックスを開く |
| clearTimeout() | setTimeoutメソッドの中止 |
| close() | ウィンドウを閉じる |
| confirm() | 確認付きダイアログボックスを開く |
| open() | 新しいウィンドウを開く |
| prompt() | 入力欄付きダイアログボックスを開く |
| setTimeout() | ミリ秒単位で指定した時間後に関数を実行する |
| eval() | 文字列を数値にかえる |
| toString() | オブジェクトを文字列にかえる |
| blur() | フォーカスを移動する |
| focus() | フォーカスを与える |
| scroll() | ウィンドウをスクロールする |
| valueOf() | オブジェクトの値をかえす |
| back() | 1つ前のURLにすすむ |
| find() | ウィンドウ内に指定した文字列があるか(有ればtrue、無ければfalseをかえす) |
| forward() | 1つ先のURLにすすむ |
| home() | homeに指定したURLにすすむ |
| moveBy() | ウィンドウを移動する(水平方向と垂直方向をピクセル単位で相対位置指定) |
| moveTo() | ウィンドウを移動する(絶対位置指定) |
| resizeBy() | ウィンドウのサイズをかえる(相対位置指定) |
| resizeTo() | ウィンドウのサイズをかえる(絶対位置指定) |
| scrollBy() | ウィンドウをスクロールする(相対位置指定) |
| scrollTo() | ウィンドウをスクロールする(絶対位置指定) |
| stop() | 読み込みの中止 |
| print() | プリントする |
documentオブジェクト
ブラウザウィンドウ内に表示される部分のオブジェクトです。いままでもwriteメソッドをつかって表示をおこなってきましたので少しはわかりやすいのではないでしょうか?
プロパティ
| プロパティ | 説明 |
| alinkColor | アクティブリンクの色 |
| bgColor | 背景の色 |
| cookie | クッキーファイルの情報 |
| fgColor | テキストの色 |
| lastModified | ファイルの最終更新日時 |
| linkColor | リンクの色 |
| referrer | リンク元のURL |
| title | ドキュメントのタイトル(<title>〜</title>の間の文字列) |
| URL | 現在のURL |
| vlinkColor | 既に行ったことのあるリンクの色 |
| anchor(s) | アンカーオブジェクト及び配列 |
| from(s) | フォームオブジェクト及び配列 |
| link(s) | リンクオブジェクト及び配列 |
| domain | 現在のドメイン名 |
| applet(s) | アプレット配列 |
| Area | エリアオブジェクト |
| embeds | プラグイン配列 |
| image(s) | イメージオブジェクト及び配列 |
| layer(s) | レイヤーオブジェクト及び配列(NNのみ) |
メソッド
| メソッド | 説明 |
| close() | ドキュメントストリームを閉じる |
| open() | ドキュメントストリームを開く |
| write() | テキストを書き出す |
| writeln() | テキストを改行付きで書き出す |
| eval() | 数値に変更する |
| toString() | オブジェクトを文字列にする |
| valueOf() | オブジェクトの値を返す |
| getSelection() | 選択範囲内に含まれている文字列をかえす |
| captureEvents() | 全てのタイプのイベントを取得する |
| releaseEvents() | 別階層のイベントにイベントを返す |
| routeEvent() | 取得したイベントと同じ階層のイベント |
| toSource() | オブジェクトの値を文字列で返す |
次回もオブジェクトの続きです。と言いたいのですが、かなり退屈になってきました。今回説明した以外にもオブジェクトはたくさんあります。またオブジェクトにはたくさんのプロパティとメソッドとイベントハンドラをもっています。列挙するだけで数十ページにも及びそうなので、とりあえず次回は実用的ではありませんが実践的なサンプルを説明していきたいと思います。できればDHTMLも少しだけ紹介します。