2010-06-08 15 views
9

Come posso trovare ciò che versione del browser un utente sta utilizzando e chiedergli di aggiornarloversione del browser di controllo di

+4

È possibile utilizzare l'agente utente, che può essere falsificato, e avvertirli. ..ma dipende da cosa stai cercando, perché devono essere aggiornati? C'è una funzionalità di cui hanno bisogno che la loro attuale non supporti? In tal caso è necessario verificare la presenza di quella funzione. –

+0

come posso controllare se il browser dell'utente supporta o meno quella funzionalità. –

+2

stesso: dipende :) Quale funzione stai cercando? Supporto flash, supporto opacità, selettori CSS3, qualcos'altro? –

risposta

5

è possibile leggere il HTTP_USER_AGENT dal Request.ServerVariables.

In ASP.NET che sarebbe:

Response.Write(HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"]); 

More info here

2

Sul codice lato server: Request.Browser restituisce un'istanza HttpBrowserCapabilities con tutte le informazioni che stai cercando.

http://msdn.microsoft.com/en-us/library/system.web.httpbrowsercapabilities.aspx

Sul lato script client (javascript):

http://www.quirksmode.org/js/detect.html

A seguito @ commento di Nick, il seguente post MSDN:

http://msdn.microsoft.com/en-us/library/x3k2ssx2.aspx

stati:

funzionalità del browser indicano se il tipo di browser in generale supporta funzioni come JavaScript, non se una singola istanza del browser ha queste funzioni abilitate o disabilitate .

Penso che la versione e il tipo del browser tenderanno ad essere abbastanza coerenti.

+0

Le abilità del browser dipendono dal fatto che le informazioni siano aggiornate, il che spesso è * non * il caso, non alla velocità con cui i browser avanzano. –

2

Se si utilizza già una libreria javascript come jQuery o mootools, sono disponibili anche questi strumenti.

jQuery:

if($.browser.msie) { 
// do something 
} 

MooTools:

if (Browser.Engine.trident4) { 
    // ie6 
} 

tenere a mente questo è di solito la cosa sbagliata da fare affidamento su. Anche lo jQuery documentation ha un'avvertenza che consiglia feature detection anziché il rilevamento del browser.

2

Se è solo su Internet Explorer, è possibile utilizzare i commenti condizionali:

<!--[if IE 6]> 
Special instructions for IE 6 here 
<![endif]--> 

Maggiori informazioni presso http://www.quirksmode.org/css/condcom.html

0
javascript: 
    alert(navigator.appVersion) 
Problemi correlati