Kullanıcı Aracısını JavaScript ile Alma


88

Kullanıcının kullanıcı aracısını yakalayabilen ve onu bir özniteliğe destekleyebilen bir komut dosyası almak istiyorum.

Bir web sitesi sorunları iletişim formu oluşturuyorum ve genellikle kullanıcının hangi tarayıcıyı kullandığını bilmem gerekiyor. Kullanıcı aracısı dizesini nasıl tespit edebilir ve bunu bir giriş öğesinin değeri olarak destekleyebilirim.

HTML'm şuna benzer:

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

Kullanıcı aracısının buna değer özelliği olarak eklenmesini istiyorum, böylece şöyle görünecektir:

<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
Bunu yapmak için herhangi bir JavaScript'e ihtiyacınız yoktur. HTTP başlığından user-agent-string'i okuyun.
Bergi

8
@Bergi: Aslında bu sadece sunucu tarafında istiyorsanız. JavaScript ile - navigator.userAgentkabul edilen cevaba göre yeterli olmalıdır.
Robin Maben

1
@Robin: OP olan sunucu tarafında soran onun iletişim formu ile yayınlanmıştır UA dize almak istiyor.
Bergi

4
Uygulama istemci tarafınızın parçalarını oluşturuyorsanız, hayır. Bu onun yaptığı gibi görünüyor.
oligofren

Yanıtlar:


180

Saf 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
Lütfen yanıta JQuery olmayan bir alternatif ekleyin. O kadar çok yeni geliştiriciler jQuery düşünüyorum olduğunu :-( JavaScript
Mark Cooper

JQuery Migrate eklentisi dahil edilmediği sürece jQuery 1.9 veya sonraki sürümlerde çalışmaz.
Davlio

@Davlio bu doğru değil. Örneğin kendisi jQuery 1.11.1 kullanıyor ve Migrate eklentisini kullanmıyor.
Adam Merrifield

@AdamMerrifield haklısın! için söyledim $.browserve yorumu düzenleyemedim.
Davlio

51

Orijinal Q, jQuery hakkında hiçbir şey söylemedi. yani

document.getElementById('UserAgent').value = navigator.userAgent;
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.