JavaScript アドバンス

JavaScript Window Navigator

1. Navigator オブジェクト

navigator オブジェクトは、訪問者のブラウザに関する情報を保持しています。

このオブジェクトは、window プレフィックスを付けても付けなくても記述可能です。
例:window.navigator または単に navigator

2. ブラウザのクッキー (Browser Cookies)

cookieEnabled プロパティは、クッキー(Cookies)が有効な場合は true を、無効な場合は false を返します。

2.1 コード例

<p id="demo"></p>

<script>
// クッキーが有効かどうかを表示
document.getElementById("demo").innerHTML =
"cookieEnabled は " + navigator.cookieEnabled;
</script>

3. ブラウザの言語 (The Browser Language)

language プロパティは、ブラウザに設定されている言語を返します。

3.1 コード例

<p id="demo"></p>

<script>
// ブラウザの言語設定を表示
document.getElementById("demo").innerHTML = navigator.language;
</script>

4. ブラウザはオンラインか?

onLine プロパティは、ブラウザがオンライン状態であれば true を返します。

4.1 コード例

<p id="demo"></p>

<script>
// オンラインかどうかを判定して表示
document.getElementById("demo").innerHTML = navigator.onLine;
</script>

5. ブラウザのアプリケーション名

appName プロパティは、ブラウザのアプリケーション名を返します。

5.1 コード例

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
"navigator.appName は " + navigator.appName;
</script>

【警告】
このプロパティは、最新のウェブ標準では削除(非推奨されています。
現在の主要なブラウザ(Chrome, Edge, Firefox, Safari)の多くは、appName として "Netscape" を返します。

6. ブラウザのアプリケーションコード名

appCodeName プロパティは、ブラウザのアプリケーションコード名を返します。

6.1 コード例

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
"navigator.appCodeName は " + navigator.appCodeName;
</script>

【警告】
このプロパティは、最新のウェブ標準では削除(非推奨)されています。
ほとんどのブラウザは、appCodeName として "Mozilla" を返します。

7. ブラウザエンジン (The Browser Engine)

product プロパティは、ブラウザエンジンの製品名を返します。

7.1 コード例

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
"navigator.product は " + navigator.product;
</script>

【警告】
このプロパティは、最新のウェブ標準では削除(非推奨)されています。
ほとんどのブラウザは、product として "Gecko" を返します。

8. ブラウザのバージョン

appVersion プロパティは、ブラウザに関するバージョン情報を返します。

8.1 コード例

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = navigator.appVersion;
</script>

【警告】
このプロパティは、最新のウェブ標準では削除(非推奨)されています。
正確なブラウザのバージョンを取得するために appVersion を使用しないでください。

9. ブラウザエージェント (The Browser Agent)

userAgent プロパティは、ブラウザがサーバーに送信するユーザーエージェント(user-agent)ヘッダーを返します。

9.1 コード例

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = navigator.userAgent;
</script>

【警告】

navigator オブジェクトから得られる情報は、しばしば誤解を招く可能性があります。
以下の理由から、ブラウザのバージョン検出に navigator オブジェクトを使用すべきではありません:

  • 異なるブラウザが同じ名称を使用することがある
  • navigator のデータはユーザー側で変更可能である
  • 一部のブラウザは、特定のサイトテストを回避するために意図的に自身を誤認させる
  • ブラウザよりも後にリリースされた新しいオペレーティングシステム(OS)については報告できない

10. ブラウザプラットフォーム

platform プロパティは、ブラウザのプラットフォーム(オペレーティングシステム)を返します。

10.1 コード例

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = navigator.platform;
</script>

【警告】
このプロパティは、最新のウェブ標準では削除(非推奨)されています。
すべてのブラウザにおいて正しいプラットフォームが返されるとは限らないため、これに依存しないでください。

11. Java は有効か? (Is Java Enabled?)

javaEnabled() メソッドは、Java が有効な場合に true を返します。

11.1 コード例

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = navigator.javaEnabled();
</script>

【警告】
このメソッドは、最新のウェブ標準では削除(非推奨)されています。
現在のブラウザにおいて、javaEnabled() は常に false を返します。