Отримання агента користувача з JavaScript


87

Я хотів би отримати скрипт, який може захопити користувальницький агент користувача і перенести його в атрибут.

Я створюю контактну форму щодо проблем на веб-сайті, і мені зазвичай потрібно знати, який браузер користувач використовує. Як я можу виявити рядок агента користувача та застосувати його як значення вхідного елемента.

Мій 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. Просто прочитайте рядок user-agent з заголовка HTTP.
Бергі,

8
@Bergi: Насправді це лише в тому випадку, якщо ти хочеш це на стороні сервера. З JavaScript - navigator.userAgentповинно вистачати відповідно до прийнятої відповіді.
Робін Мабен

1
@Robin: OP буде просити стороні сервера, він хоче отримати рядок UA відправив його контактну форму.
Бергі

4
Ні, якщо ви генеруєте частини клієнтської частини вашого додатка. Що, здається, і робив він.
олігофрен

Відповіді:


179

Чистий 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. Так багато нових розробників вважають, що jQuery - це Javascript :-(
Марк Купер

Не працюватиме в jQuery 1.9 або пізнішої версії, якщо не включено плагін jQuery Migrate.
Davlio

@Davlio це неправда. Сам приклад використовує jQuery 1.11.1 і не використовує плагін Migrate.
Адам Мерріфілд,

@AdamMerrifield ти маєш рацію! я сказав, $.browserі не можу редагувати коментар.
Давліо

51

Оригінальний Q нічого не говорив про jQuery. тому

document.getElementById('UserAgent').value = navigator.userAgent;
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.