Pour la page d'accueil de Chrome Desktop Extension, j'essaie de détecter si un utilisateur utilise Chrome pour Desktop ou Chrome pour Mobile sous Android. Actuellement, le script ci-dessous identifie Android Chrome de la même manière que Desktop chrome. Sur le bureau Chrome, il devrait afficher le lien "chrome"; Toutefois, si quelqu'un utilise Chrome pour Android, il devrait affiche le lien "mobile-other".
Scénario:
<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>
Agent utilisateur Android Chrome:
Mozilla/5.0 (Linux; <Android Version>; <Build Tag etc.>) AppleWebKit/<WebKit Rev> (KHTML, like Gecko) Chrome/<Chrome Rev> Mobile Safari/<WebKit Rev>
Le problème est que l'agent utilisateur aura toujours "Chrome", qu'il s'agisse de la version de bureau ou mobile. Vous devez donc d'abord vérifier le cas plus spécifique.
$(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();
});
Donc, pour mettre à jour le code de @ imtheman selon la dernière chaîne d'agent utilisateur Chrome pour 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();
});