JavaScriptを使用したユーザーエージェントの取得


88

ユーザーのユーザーエージェントを取得して属性に関連付けることができるスクリプトを取得したいと思います。

ウェブサイトの問題に関するお問い合わせフォームを作成していますが、通常、ユーザーが使用しているブラウザを知る必要があります。ユーザーエージェント文字列を検出し、それを入力要素の値として支持するにはどうすればよいですか。

私のhtmlは次のようになります:

<input type="hidden" id="UserAgent" name="User Agent" />

ユーザーエージェントをvalue属性として追加して、次のようにします。

<input type="hidden" id="UserAgent" name="User Agent" value="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.53.11 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10" />

4
これを行うのにJavaScriptは必要ありません。HTTPヘッダーからuser-agent-stringを読み取るだけです。
ベルギ2012

8
@Bergi:実際には、サーバー側で必要な場合のみです。JavaScriptを使用する場合-navigator.userAgent受け入れられた回答に従って十分なはずです。
ロビンマーベン2013

1
@Robin:OPサーバー側を要求しています。彼は、連絡フォームにUA文字列を投稿してもらいたいと考えています。
ベルギ2013

4
アプリケーションクライアント側の一部を生成している場合は違います。それが彼がやっていたことのようです。
オリゴフレン2014年

回答:


180

純粋なJavascript

document.getElementById('UserAgent').value = navigator.userAgent;
<input type="text" id="UserAgent">

jQuery

$('#UserAgent').val(navigator.userAgent);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<input type="text" id="UserAgent">


8
回答にJQuery以外の代替手段を追加してください。非常に多くの新しい開発者がjQueryJavascriptだと考えています:
Mark Cooper

jQuery Migrateプラグインが含まれていない限り、jQuery1.9以降では機能しません。
Davlio 2017

@Davlioこれは真実ではありません。例自体はjQuery1.11.1を使用しており、Migrateプラグインを使用していません。
Adam Merrifield 2017

@AdamMerrifieldあなたは正しいです!私は言った$.browserが、コメントを編集することはできなかった。
ダブリオ2017

51

オリジナルのQはjQueryについて何も言っていませんでした。そう

document.getElementById('UserAgent').value = navigator.userAgent;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.