2009-09-03 18 views
7

Sto cercando di estrarre non solo il browser e il suo numero di versione, ma anche il motore di rendering e il suo numero di versione dalle stringhe degli user-agent comuni. Maggior parte dei browser riportano questo bene, ad esempio:Agente utente di Safari: quale versione di WebKit considerare attendibile?

  • "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4,0)"

  • "Mozilla/5.0 (Windows ; U; Windows NT 6.0; en-US; rv: 1.9.0.12) Gecko/2.009.070,611 mila Firefox/3.5.12"

Safari riporta anche il numero di versione di WebKit, ma sembra che lo faccia due volte. Ecco la mia propria UA:

  • "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/531,9 (KHTML, come Gecko) Version/4.0.3 Safari/531,9 .1 "

In questo caso, sembra che uno sia solo più dettagliato dell'altro.

Ma quando guardo i database delle stringhe di Safari UA, ad es. useragentstring.com, le due versioni sono spesso completamente diverse.

  • "/ 5.0 Mozilla (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532+ (KHTML, come Gecko) Version/4.0.2 Safari/530.19.1 "

  • "Mozilla/5.0 (Windows; U; Windows NT 5.1; cs-CZ) AppleWebKit/525.28.3 (KHTML, come Gecko) Version 3.2.3/Safari/525,29"

  • "Mozilla/5.0 (Windows ; U; Windows NT 5.1; en-US) AppleWebKit/530.19.2 (KHTML, come Gecko) Version/4.0.2 Safari/530.19.1 "

  • " Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_4; it-it) AppleWebKit/528.4+ (KHTML, come Gecko) Version/4.0dp1 Safari/526.11.2 "

Ecc

Quale posso utilizzare? non è una problema principale, ma solo chiedendo Grazie!

risposta

10

La sezione AppleWebKit/xxx indica quale motore di rendering viene utilizzato. La sezione Version/xxx Safari/xxx indica quale versione del "frontend browser" è in uso.

Webkit nightly builds esegue il frontend Safari attualmente installato con l'ultimo motore di rendering notturno che esegue il rendering.Questo è il motivo per cui è possibile ottenere diversi numeri AppleWebKit/xxx con lo stesso Version/xxx Safari/xxx.

+0

Impressionante, grazie! –

+0

Da cosa dipende la funzionalità Javascript (ad esempio, comportamento XMLHttpRequest), il motore di rendering o "frontend del browser"? Suppongo che faccia parte del motore di rendering (e quindi di AppleWebKit). –

+0

mi piace il tuo sito, edds – CRice

Problemi correlati