#android #ios #mobile #detect
#Android #iOS #Мобильный #обнаружить
Вопрос:
Я использую Mobile Detect (http://mobiledetect.net /) чтобы проверить, какой браузер используется для моей веб-страницы, но я изо всех сил пытаюсь правильно проверить, просматривается ли страница внутри веб-просмотра iOS или Android.
Доступны следующие параметры, но я просто не могу заставить его работать. Возможно ли это?
isSafari()
isioS()
isAndroid()
isAndroidOS()
isChrome()
и т.д.. (Полный список наhttp://demo.mobiledetect.net /)
Кто-нибудь успешно это сделал? Причина, по которой я хочу это сделать, заключается в том, что на моем веб-сайте есть баннер, который предлагает пользователям загрузить приложение для iOS или Android. Теперь этот бит работает нормально.
Однако в самом приложении есть веб-просмотр, который позволяет пользователю также просматривать сайт, и в этом случае я бы не хотел, чтобы баннер отображался, потому что они уже используют приложение.
Спасибо.
Ответ №1:
Для этого вопроса
Однако в самом приложении есть веб-просмотр, который позволяет пользователю также просматривать сайт, и в этом случае я бы не хотел, чтобы баннер отображался, потому что они уже используют приложение.
Вам нужно встроить одну переменную GET вместе с URL вашего веб-сайта. Например
http://www.example.com?isInsideApp=true
Затем на стороне сервера получите строку GET и проверьте, является ли это true
или что-то еще. Если это так true
, то не показывайте рекламу.
Комментарии:
1. Это то, что мы собираемся рассмотреть, если мы не можем получить простое решение выше.
2. Настолько просто, насколько это возможно!
Ответ №2:
Вы пробовали проверять пользовательский агент на стороне сервера?
<script type="text/javascript">
function check() {
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
userAgent = 'iOS';
} else if (navigator.userAgent.match(/Android/i)) {
userAgent = 'Android';
}
}
</script>
Комментарии:
1. Однако это не будет отличать пользователя, просматривающего веб-сайт в Safari или внутри самого приложения. Верно?
2. хм, вы правы, это не дифференцирует браузеры, для этого, я думаю, было бы достаточно добавить дополнительный параметр к ссылке.
Ответ №3:
function getMobileOS() {
var userAgent = navigator.userAgent || navigator.vendor || window.opera;
if (/windows phone/i.test(userAgent)) {
return "Windows";
}
if (/android/i.test(userAgent)) {
return "Android";
}
if (/iPad|iPhone|iPod/.test(userAgent) amp;amp; !window.MSStream) {
return "iOS";
}
return "unknown";
}