Подтвердить что ты не робот

Android, пользовательский агент веб-просмотра и пользовательский агент браузера

Я создаю свой сайт, и я хочу знать, использует ли пользователь браузер Android или приложение с веб-просмотром.

возможно ли это?

4b9b3361

Ответ 1

FROM: http://googlewebmastercentral.blogspot.com/2011/03/mo-better-to-also-detect-mobile-user.html

С помощью User-Agent, как это:

Mozilla/5.0 (Linux, U, Android 3.0, en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, например, Gecko) Версия /4.0 Safari/534.13

так как нет "мобильной" строки, обратитесь к этому пользователю в настольную версию (или версию, настроенную для Android-устройств с большим экраном Android). Пользователь-агент сообщает нам, что они поступают из широкоэкранного устройства - планшета XOOM.

С другой стороны, этот User-Agent:

Mozilla/5.0 (Linux, U, Android 2.2.1, en-us; Nexus One Build/FRG83) AppleWebKit/533.1 (KHTML, например, Gecko) Версия /4.0 Mobile Safari/533.1

содержит "мобильный" и "андроид", поэтому обслуживайте веб-серфера в этом Nexus One, мобильном опыте!

FROM fooobar.com/questions/190470/...

похоже, что User-Agent в веб-браузере тот же, что и в мобильном браузере по умолчанию

Ответ 2

Как Chrome dev docs: "Если вы пытаетесь провести различие между WebView и Chrome для Android, вам следует искать наличие Версия /XX в строке пользовательского агента WebView."

Ответ 3

FYI: Это невозможно сделать с помощью пользовательских агентов, однако его можно обнаружить. Веб-представления Android отправляют заголовок добавления "X-Requested-With". Значение этого заголовка будет пространством имен приложений, на котором выполняется веб-просмотр.

Для примера браузер Dolphin отправляет: "mobi.mgeek.TunnyBrowser" Ваше тестовое приложение отправлено: "com.jamestymann.identifyawebview"

Стандартный браузер фактически не отправляет этот заголовок вообще, поэтому их довольно легко обнаружить.

У меня есть два оговорки:

  • "X-Requested-With" является стандартным заголовком и может быть отправлен с полнофункциональных веб-страниц/браузеров с рабочих столов. (Например, это используется для обнаружения вызовов ajax с этими значениями "X-Requested-with XMLHttpRequest" )
  • Большинство браузеров Google Play Store используют веб-просмотры для отображения веб-страниц. Несмотря на то, что это полнофункциональные браузеры, они все равно отправят этот заголовок. Поэтому, если вы намерены отключить эту функцию, вы можете быть осторожны, так как вы можете отключить браузеры по умолчанию для людей.

Ответ 4

да, и вы можете оптимизировать свой сайт, добавив эти метатеги

<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
<meta name="HandheldFriendly" content="True" />

вы можете найти дополнительную информацию здесь http://learnthemobileweb.com/2009/07/mobile-meta-tags/

Ответ 5

Я использую этот серверный сервер, чтобы получить доступ к информации о браузере клиента (агента) в PHP

...
$_SERVER['HTTP_USER_AGENT']; // Different browsers ...
...

этот шаблон может быть интерпретирован - следовательно, вы будете знать агента...

на стороне клиента - navigator.userAgent