Пользовательский агент Safari: какой версии WebKit доверять?

Я пытаюсь извлечь не только браузер и его номер версии, но также механизм рендеринга и его номер версии из общих строк пользовательского агента. Большинство браузеров сообщают об этом нормально, например:

  • «Mozilla / 4.0 (совместимый; 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 / 2009070611 Firefox / 3.5.12"

Safari также сообщает номер версии WebKit, но, кажется, делает это дважды. Вот мой собственный UA:

  • "Mozilla / 5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit / 531.9 (KHTML, например Gecko) Версия / 4.0.3 Safari / 531.9.1 "

В этом случае кажется, что одно более детально, чем другое.

Но когда я смотрю базы данных строк Safari UA, например useragentstring.com, эти две версии часто совершенно разные.

  • "Mozilla / 5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit / 532+ (KHTML, например, Gecko) Версия / 4.0.2 Safari / 530.19.1 "

  • "Mozilla / 5.0 (Windows; U; Windows NT 5.1; cs-CZ) AppleWebKit / 525.28.3 (KHTML, например, Gecko) Версия / 3.2.3 Safari / 525.29 "

  • "Mozilla / 5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit / 530.19.2 (KHTML, например, Gecko) Версия / 4.0.2 Safari / 530.19.1 "

  • "Mozilla / 5.0 (Macintosh; U; Intel Mac OS X 10_5_4; en-us) AppleWebKit / 528.4+ (KHTML, например Gecko) Версия / 4.0dp1 Safari / 526.11.2 "

И т.п.

Какой я использую? Это не серьезная проблема, просто интересно. Спасибо!


person Aseem Kishore    schedule 03.09.2009    source источник


Ответы (1)


В разделе AppleWebKit/xxx указано, какой движок рендеринга используется. В разделе Version/xxx Safari/xxx указывается, какая версия «Веб-интерфейса браузера» используется.

Ночные сборки Webkit запускают установленный в данный момент интерфейс Safari с последним механизмом ночного рендеринга, выполняющим рендеринг. Вот почему вы можете получить разные AppleWebKit/xxx числа с одним и тем же Version/xxx Safari/xxx.

person edds    schedule 29.10.2009
comment
От чего зависит функциональность Javascript (например, поведение XMLHttpRequest), от механизма рендеринга или внешнего интерфейса браузера? Я предполагаю, что это часть движка рендеринга (и, следовательно, AppleWebKit). - person Jaka Jančar; 10.09.2010
comment
Как часть xxx соответствует версии Safari? или ни к чему? - person jayarjo; 06.05.2019