Я в настоящее время борюсь с обнаружением браузера на мобильных устройствах Apple. Я тестировал Safari, Chrome и Firefox на одном и том же устройстве, и в результате мне очень трудно определить, какой именно браузер. Посмотрите:
Safari
Mozilla / 5.0 (iPhone; CPU iPhone OS 12_2, как Mac OS X) Apple WebKit / 605.1.15 (KHTML, как Gecko)Версия / 12.1 Mobile / 15E148 Safari 604/1
os = mac;браузер = сафари;Устройство = iphone;os_version = неизвестно;browser_version = 12,1
Chrome (представление рабочего стола)
Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_13_5) Apple WebKit / 605.1.15 (KHTML, как Gecko)Версия / 11.1.1 Safari / 605.1.15
os = mac;браузер = сафари;Устройство = неизвестно;os_version = "MAC-OS-X-13";browser_version = 11.1.1
Chrome (для мобильных устройств)
Mozilla / 5.0 (iPhone; процессор iPhone OS 12_2, как Mac OS X) Apple WebKit / 605.1.15 (KHTML, как Gecko) CriOs / 77.0.3865.103 Mobile / 15E148 Safari 605/1
os = mac;браузер = хром;Устройство = iphone;os_version = неизвестно;browser_version = 77.0.3865.103
Firefox (рабочий стол)
Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_11_1) Apple WebKit / 605.1.15 (KHTML, например,Gecko) Версия / 12.0 Safari / 605.1.15
os = mac;браузер = сафари;Устройство = неизвестно;os_version = "MAC-OS-X-13";browser_version = 12.0
Firefox (для мобильных устройств)
Mozilla / 5.0 (iPhone; процессор iPhone OS 12_2, как Mac OS X) Apple WebKit / 605.1.15 (KHTML,как Gecko) FxiOS / 19.1b16203 Mobile / 15E148 Safari / 605.1.15
os = mac;браузер = сафари;Устройство = iphone;os_version = неизвестно;browser_version = 0
Первая строка - строка useragent, остальные подробности получены из используемой мной библиотеки. Как вы видите, по этой информации очень сложно определить правильное устройство. В результате я хочу разрешить только сафари на мобильных устройствах iOS, но большинство других версий также маскируют себя как сафари.
Есть ли лучшая практика для обнаружения в браузере? Пожалуйста, помогите.