Как вы обнаруживаете между пользовательским агентом Desktop и Mobile Chrome?
На домашней странице внутреннего рабочего стола Chrome я пытаюсь определить, использует ли пользователь Chrome для настольных компьютеров или Chrome для мобильных устройств на Android. В настоящее время script ниже определяет Android Chrome так же, как Desktop chrome. На настольном Chrome он должен показать ссылку "хром"; однако, если кто-то находится в Chrome для Android, он должен показать ссылку "mobile-other".
Script:
<script>$(document).ready(function(){
var ua = navigator.userAgent;
if (/Chrome/i.test(ua))
$('a.chrome').show();
else if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobile|mobile/i.test(ua))
$('a.mobile-other').show();
else
$('a.desktop-other').show();
});</script>
Пользовательский агент Chrome Android:
Mozilla/5.0 (Linux; <Android Version>; <Build Tag etc.>) AppleWebKit/<WebKit Rev> (KHTML, like Gecko) Chrome/<Chrome Rev> Mobile Safari/<WebKit Rev>
Ответы
Ответ 1
Проблема заключается в том, что пользовательский агент всегда будет иметь "Chrome", будь то настольная или мобильная версия. Поэтому сначала нужно проверить более конкретный случай.
$(document).ready(function(){
var ua = navigator.userAgent;
if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobile|mobile|CriOS/i.test(ua))
$('a.mobile-other').show();
else if(/Chrome/i.test(ua))
$('a.chrome').show();
else
$('a.desktop-other').show();
});
Ответ 2
Итак, чтобы обновить код @imtheman в соответствии с новейшей строкой пользователя для iOS для пользователя:
$(document).ready(function(){
var ua = navigator.userAgent;
if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobile|mobile|CriOS/i.test(ua))
$('a.mobile-other').show();
else if (/Chrome/i.test(ua))
$('a.chrome').show();
else
$('a.desktop-other').show();
});