JavaScriptブラウザオブジェクトインスタンス

 

JavaScript ブラウザオブジェクト实例: ウェブページ操作を掌握する鍵

インタラクティブで動的なウェブサイトを構築する上で、JavaScriptは必要不可欠なツールです。特に、ブラウザオブジェクトモデル(BOM)は、ブラウザウィンドウの制御、画面情報の取得、履歴操作など、ウェブサイトの表現力を格段に高める機能を提供します。

本稿では、BOMの中核をなす主要なオブジェクト、WindowNavigatorScreenHistoryLocationについて、具体的なコード例を交えながら解説し、JavaScriptを用いたウェブページ操作の基礎を習得します。

1. Window オブジェクト: ブラウザウィンドウの司令塔

Windowオブジェクトは、JavaScriptにおいて最も重要なオブジェクトの一つであり、ブラウザウィンドウそのものを表します。グローバルオブジェクトとして、ウェブページ全体を統括する役割を担います。

よく使うプロパティ

プロパティ 説明
innerHeight ブラウザウィンドウの表示領域の高さ (ピクセル単位)
innerWidth ブラウザウィンドウの表示領域の幅 (ピクセル単位)
outerHeight ブラウザウィンドウの全体の高さ (ピクセル単位)
outerWidth ブラウザウィンドウの全体の幅 (ピクセル単位)
screenX ウィンドウの左上角の、画面の左上角からの水平距離 (ピクセル単位)
screenY ウィンドウの左上角の、画面の左上角からの垂直距離 (ピクセル単位)
location 現在のURL情報 ( hrefprotocolhostname などのプロパティを含む)

よく使うメソッド

メソッド 説明
open() 新しいブラウザウィンドウを開く
close() 現在のブラウザウィンドウを閉じる
alert() アラートダイアログを表示
confirm() 確認ダイアログを表示
prompt() 入力ダイアログを表示
setTimeout() 指定時間後に処理を実行
setInterval() 指定間隔で処理を繰り返し実行

<button onclick="window.alert('こんにちは、世界!')">クリックしてアラートを表示</button>

2. Navigator オブジェクト: ブラウザ自身を知る

Navigator オブジェクトは、ブラウザの種類、バージョン、OSなど、ブラウザ自身に関する情報を提供します。

よく使うプロパティ

プロパティ 説明
appName ブラウザの名前
appVersion ブラウザのバージョン情報
platform ブラウザの実行プラットフォーム
userAgent ブラウザのユーザーエージェント文字列

<p>ブラウザ名: <script>document.write(navigator.appName)</script></p>

3. Screen オブジェクト: 画面情報を取得

Screen オブジェクトは、ユーザーの画面の解像度、色深度などの情報を提供します。レスポンシブデザインや、画面サイズに合わせたコンテンツ表示などに役立ちます。

よく使うプロパティ

プロパティ 説明
width 画面の幅 (ピクセル単位)
height 画面の高さ (ピクセル単位)
availWidth 利用可能な画面の幅 (タスクバーなどを除く) (ピクセル単位)
availHeight 利用可能な画面の高さ (タスクバーなどを除く) (ピクセル単位)
colorDepth 画面の色深度

<p>画面解像度: <script>document.write(screen.width + ' x ' + screen.height)</script></p>

4. History オブジェクト: browsing の履歴を操作

History オブジェクトは、ユーザーが訪れたページの履歴を管理します。ページの「戻る」、「進む」機能などを実装する際に使用します。

よく使うメソッド

メソッド 説明
back() 一つ前のページに戻る
forward() 一つ先のページに進む
go() 指定した数の履歴を移動する

<button onclick="history.back()">戻る</button>

5. Location オブジェクト: URL を自由に操る

Location オブジェクトは、現在のURLに関する情報を提供し、新しいURLへのジャンプなどを実行できます。

よく使うプロパティ

プロパティ 説明
href URL全体
protocol 使用しているプロトコル (例: "https:")
hostname ホスト名 (例: "www.example.com")
pathname パス名 (例: "/index.html")

よく使うメソッド

メソッド 説明
reload() 現在のページを再読み込みする
assign() 指定したURLにジャンプする

<button onclick="location.assign('https://www.example.com')">Example ウェブサイトに移動</button>

6. まとめ: JavaScript でリッチなウェブ体験を

JavaScriptのブラウザオブジェクトモデル(BOM)を理解することで、ブラウザをより深く制御し、ユーザーにリッチなウェブ体験を提供することができます。

よくある質問

Q: BOM と DOM の違いは何ですか?

A: BOM (ブラウザオブジェクトモデル) は、ブラウザウィンドウ自体を操作するためのモデルです。DOM (Document Object Model) は、HTML や XML 文書を操作するためのモデルです。

Q: ユーザーのブラウザの種類を判別するにはどうすればよいですか?

A: navigator.userAgent プロパティでブラウザの種類を判別できます。ただし、この方法は完全ではなく、ユーザーエージェントは変更される可能性があるので注意が必要です。

Q: ページを閉じる際に確認ダイアログを表示するにはどうすればよいですか?

A: beforeunload イベントで確認メッセージを表示できます。ただし、使いすぎるとユーザーの邪魔になる可能性があるので、注意が必要です。