Пользовательский агент для браузера Safari на iOS 7
Я хочу открыть свой сайт только в iPhone и iPod с браузером Safari. Для любого другого браузера, такого как Chrome, Dolphin и т.д., Он не должен открываться.
Но в настоящее время я получаю один и тот же пользовательский агент практически со всех устройств:
Для Safari:
User Agent String :: mozilla/5.0 (iphone; cpu iphone os 7_0_2 like mac os x) applewebkit/537.51.1 (khtml, like gecko) version/7.0 mobile/11a501 safari/9537.53
Для Chrome:
User Agent String :: mozilla/5.0 (iphone; cpu iphone os 7_0_2 like mac os x) applewebkit/537.51.1 (khtml, like gecko) crios/30.0.1599.16 mobile/11a501 safari/8536.25
Для браузера Mercury:
User Agent String :: mozilla/5.0 (iphone; cpu iphone os 6_0_1 like mac os x) applewebkit/536.26 (khtml, like gecko) mercury/7.4.2 mobile/10a523 safari/8536.25
Для браузера Dolphin:
User Agent String :: mozilla/5.0 (iphone; cpu iphone os 7_0_2 like mac os x) applewebkit/537.51.1 (khtml, like gecko) version/6.0 mobile/10a523 safari/8536.25
С Chrome я вижу, проверяя строку crios
и Mercury by mercury
, но как насчет других браузеров, которые, похоже, имеют тот же пользовательский агент, что и Safari?
Ответы
Ответ 1
Ответ не является строгим. В iOS Apple блокирует любые конкурирующие браузеры, включая собственно механизм рендеринга; все должны использовать стандартный веб-просмотр.
Таким образом, все сторонние браузеры (с такими функциями, как синхронизация избранных и т.д.) - это просто обертки вокруг веб-браузера Safari, которые фактически отображают страницу, поэтому все они имеют строку пользовательского агента Safari.
Ответ 2
Браузеры делают это очень преднамеренно, чтобы люди не делали то, что вы пытаетесь сделать. Их разработчики считают, что, поскольку они используют один и тот же веб-движок (WebKit, blink или gecko), как и другие, они будут явно отображать страницы, оптимизированные для похожих браузеров, просто отлично (что вполне вероятно).
Так что, скорее всего, нет способа рассказать.
Ответ 3
Решает для ртути, оперы, хрома n firefox, но не дельфина
(
(/(iPad|iPhone|iPod)/gi).test(userAgent) &&
!(/CriOS/).test(userAgent) &&
!(/FxiOS/).test(userAgent) &&
!(/OPiOS/).test(userAgent) &&
!(/mercury/).test(userAgent)
)