Ottenere l'agente utente con JavaScript


88

Mi piacerebbe ottenere uno script in grado di catturare l'agente utente dell'utente e proporlo a un attributo.

Sto creando un modulo di contatto per problemi con il sito Web e di solito ho bisogno di sapere quale browser sta utilizzando l'utente. Come posso rilevare la stringa del programma utente e proporla come valore di un elemento di input.

Il mio html ha un aspetto simile a:

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

Voglio che l'agente utente venga aggiunto a quello come attributo del valore in modo che assomigli a:

<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
Non dovresti aver bisogno di JavaScript per farlo. Basta leggere la stringa user-agent dall'intestazione HTTP.
Bergi

8
@Bergi: In realtà è solo se lo vuoi sul lato server. Con JavaScript - navigator.userAgentdovrebbe essere sufficiente secondo la risposta accettata.
Robin Maben

1
@Robin: OP chiede il lato server, vuole che la stringa UA venga pubblicata con il suo modulo di contatto.
Bergi

4
No, se stai generando parti della tua applicazione lato client. Che sembra essere quello che stava facendo.
oligofren

Risposte:


180

Javascript puro

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
Aggiungi un'alternativa non JQuery alla risposta. Così tanti nuovi sviluppatori pensano che jQuery sia Javascript :-(
Mark Cooper

Non funzionerà in jQuery 1.9 o versioni successive a meno che il plug-in jQuery Migrate non sia incluso.
Davlio

@Davlio questo non è vero. L'esempio stesso utilizza jQuery 1.11.1 e non utilizza il plug-in Migrate.
Adam Merrifield,

@AdamMerrifield hai ragione! ho detto per $.browsere non potevo modificare il commento.
Davlio

51

Q originale non ha detto nulla su jQuery. così

document.getElementById('UserAgent').value = navigator.userAgent;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.