javascript - quitar - ¿Cómo detectas entre un Agente de usuario de Chrome para escritorio y móvil?
https://chrome:inspect (2)
Para una página de inicio de Chrome Desktop Extension, estoy tratando de detectar si un usuario está usando Chrome for Desktop o Chrome for Mobile en Android. Actualmente, el siguiente script identifica a Android Chrome de la misma manera que Desktop chrome. En el escritorio de Chrome debería mostrar el enlace "chrome"; sin embargo, si alguien está en Chrome para Android, debería mostrar el enlace "mobile-other".
Guión:
<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 User Agent:
Mozilla/5.0 (Linux; <Android Version>; <Build Tag etc.>) AppleWebKit/<WebKit Rev> (KHTML, like Gecko) Chrome/<Chrome Rev> Mobile Safari/<WebKit Rev>
El problema es que el agente de usuario siempre tendrá "Chrome", ya sea en la versión de escritorio o móvil. Así que primero hay que comprobar el caso más específico.
$(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();
});
Entonces, para actualizar el código de @imtheman de acuerdo con la nueva cadena de agente de usuario de Chrome para 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();
});