Mendapatkan Agen Pengguna dengan JavaScript

88

Saya ingin mendapatkan skrip yang dapat mengambil agen pengguna pengguna dan menopangnya ke atribut.

Saya membuat formulir kontak masalah situs web dan saya biasanya perlu mengetahui browser apa yang digunakan pengguna. Bagaimana cara mendeteksi string agen pengguna dan menopangnya sebagai nilai elemen input.

HTML saya terlihat seperti ini:

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

Saya ingin agen pengguna ditambahkan ke dalamnya sebagai atribut nilai sehingga akan terlihat seperti:

<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" />
henryaaron
sumber
4
Anda tidak perlu JavaScript untuk melakukan ini. Cukup baca string-agen-pengguna dari header HTTP.
Bergi
8
@Bergi: Sebenarnya itu hanya jika Anda menginginkannya di sisi server. Dengan JavaScript - navigator.userAgentharus cukup sesuai jawaban yang diterima.
Robin Maben
1
@Robin: OP yang meminta sisi server, dia ingin mendapatkan string UA diposting dengan formulir kontak nya.
Bergi
4
Tidak jika Anda membuat bagian dari sisi klien aplikasi Anda. Sepertinya itulah yang dia lakukan.
oligofren

Jawaban:

180

Javascript murni

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">

Adam Merrifield
sumber
8
Harap tambahkan alternatif non-JQuery ke jawabannya. Begitu banyak pengembang baru berpikir bahwa jQuery adalah Javascript :-(
Mark Cooper
Tidak akan berfungsi di jQuery 1.9 atau yang lebih baru kecuali jika plugin jQuery Migrate disertakan.
Davlio
@Davlio ini tidak benar. Contohnya sendiri menggunakan jQuery 1.11.1 dan tidak menggunakan plugin Migrate.
Adam Merrifield
@AdamMerrifield Anda benar! saya berkata untuk $.browserdan tidak bisa mengedit komentar.
Davlio
51

Q asli tidak mengatakan apa-apa tentang jQuery. begitu

document.getElementById('UserAgent').value = navigator.userAgent;
axlotl.dll
sumber