title | short-title | slug | l10n | ||
---|---|---|---|---|---|
Navigator: userAgent プロパティ |
userAgent |
Web/API/Navigator/userAgent |
|
{{ApiRef("HTML DOM")}}
Navigator.userAgent
は読み取り専用のプロパティで、現在のブラウザーのユーザーエージェント文字列を返します。
Note
仕様書では、ブラウザーがこのフィールドを介して提供する情報をできるだけ少なくすることを求めています。このプロパティの値は、同じブラウザーの将来のバージョンでも同じままであると仮定してはいけません。まったく使用しないようにしたり、ブラウザーの現在のバージョンと過去のバージョンのためだけに使用するようにしてください。新しいブラウザーは、古いブラウザーと同じ UA、またはその一部を使い始めるかもしれません。ブラウザーエージェントが本当にこのプロパティによって広告されたものであるという保証は本当にありません。
また、ブラウザーのユーザーはこのフィールドの値を変更することができることを覚えておいてください (UA なりすまし)。
ユーザーエージェント文字列の検出に基づくブラウザーの識別は信頼できず、ユーザーエージェント文字列はユーザーが設定可能なので推奨されません。例えば、以下のようになります。
- Firefox では、 about:config の
general.useragent.override
設定を使って変更することができます。一部の Firefox 拡張機能でも設定可能です。しかし、これは取得する HTTP ヘッダーとnavigator.userAgent
が返す HTTP ヘッダーを変更するだけです。 他にも JavaScript コードを利用してブラウザー識別を行うメソッドがあるかもしれません。 - Opera 6 以降では、メニューからブラウザー識別文字列を設定できます。
文字列で、ブラウザーが {{Glossary("HTTP")}} ヘッダーで提供する完全なユーザーエージェント文字列と、 {{domxref("Navigator")}} オブジェクト上のメソッドやその他の関連メソッドへのレスポンスを指定します。
ユーザーエージェント文字列は形式的な構造に基づいて構築されており、いくつかの情報に分解することができます。これらの情報の各部分は、ユーザー-が設定可能な他の Navigator のプロパティから来ています。ユーザーエージェント文字列の形式について、より詳しい情報については、HTTP の {{HTTPHeader("User-agent")}} ヘッダーを参照してください。
alert(window.navigator.userAgent);
// alerts "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0"
{{Specifications}}
{{Compat}}
- {{httpheader("User-Agent")}} HTTP ヘッダー