Se si ha realmente bisogno di sapere che cosa del browser che stanno usando, si hanno per lo più a guardare la stringa userAgent
(anche se a volte è possibile dedurre il browser con la ricerca di un paio di caratteristiche oscure). Tieni presente che alcuni browser consentono all'utente di cambiarlo e mentirti. :-)
Ma il rilevamento del browser è fuori moda, per buone ragioni. Invece, come dici tu, vuoi rilevare le funzionalità che stai cercando. Questo è più affidabile e meno lavoro. Solo perché IE non supportava addEventListener
, per esempio, non significa che non lo farà mai (e infatti IE9 lo fa). In questo modo, invece, si rileva la funzionalità, che a prova di futuro il codice.
Ecco un esempio concreto: Supponiamo di voler sapere (come ho fatto per il mio place5 jQuery plug-in) se un browser supporta lo placeholder
attribute. È possibile utilizzare il rilevamento del browser e mantenere un elenco di quali browser in cui le versioni hanno o non hanno supporto, che è disordinato e qualcosa a cui si deve continuare a tornare, ecc., O si potrebbe fare questo:
if ("placeholder" in document.createElement("input")) {
// The browser supports the attribute
}
else {
// It doesn't
}
... e il gioco è fatto.
C'è un grande set di test di funzionalità in this page gestito da kangax. C'è anche una libreria chiamata Modernizr che esegue il rilevamento delle funzioni, le query multimediali e altro ancora. Se si utilizza jQuery, ha alcune funzionalità di rilevamento incorporate tramite jQuery.support
. C'è una bella discussione sui vari aspetti del rilevamento delle funzionalità, delle query multimediali, del rilevamento dei fattori di forma (tablet, telefono o PC?) In this article.
fonte
2011-10-09 08:34:53
Per rilevare dispone di uso http://www.modernizr.com/ – Idered