JS ブラウザオブジェクトモデル
1. ブラウザオブジェクトモデル (BOM) とは
ブラウザオブジェクトモデル (BOM) は、JavaScriptがブラウザと「対話」することを可能にします。
BOMには公式な標準規格(スタンダード)は存在しません。しかし、最新のブラウザはJavaScriptのインタラクティブ性を実現するために、ほぼ同様のメソッドやプロパティを実装しているため、それらは一般的にBOMのメソッドおよびプロパティとして参照されています。
2. Windowオブジェクト
window オブジェクトはすべてのブラウザでサポートされています。これはブラウザのウィンドウそのものを表すオブジェクトです。
JavaScriptのすべてのグローバルなオブジェクト、関数、変数は、自動的に window オブジェクトのメンバとなります。
- グローバル変数は
windowオブジェクトのプロパティになります。 - グローバル関数は
windowオブジェクトのメソッドになります。
HTML DOMの document オブジェクトでさえも、次のように window オブジェクトのプロパティとして扱われます。
window.document.getElementById("header");これは、以下の記述と全く同じ意味を持ちます。
document.getElementById("header");3. ウィンドウのサイズ (Window Size)
ブラウザウィンドウのサイズを取得するために、主に2つのプロパティが使用されます。これらのプロパティはいずれもサイズをピクセル(pixels)単位で返します。
window.innerHeight- ブラウザウィンドウの内部の高さ(ピクセル単位)window.innerWidth- ブラウザウィンドウの内部の幅(ピクセル単位)
ここで言う「ブラウザウィンドウ(ブラウザのビューポート)」には、ツールバーやスクロールバーのサイズは含まれません。
3.1 実装コードの例
// ウィンドウの幅を取得
let w = window.innerWidth;
// ウィンドウの高さを取得
let h = window.innerHeight;4. その他のWindowメソッド
Windowオブジェクトには、操作に役立つさまざまなメソッドが用意されています。
window.open()- 新しいウィンドウを開くwindow.close()- 現在のウィンドウを閉じるwindow.moveTo()- 現在のウィンドウを移動するwindow.resizeTo()- 現在のウィンドウのサイズを変更する