Обнаружение браузера на iOS - PullRequest
0 голосов
/ 14 октября 2019

Я в настоящее время борюсь с обнаружением браузера на мобильных устройствах 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, но большинство других версий также маскируют себя как сафари.

Есть ли лучшая практика для обнаружения в браузере? Пожалуйста, помогите.

1 Ответ

0 голосов
/ 14 октября 2019

Я просто решил пойти с этим регулярным выражением: https://coderwall.com/p/ktrbhq/detect-mobile-safari

В любом случае, мне не нравится это решение. Мы ценим лучший подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...