Maison > interface Web > js tutoriel > Comment puis-je détecter si un utilisateur est sur un appareil mobile utilisant jQuery ?

Comment puis-je détecter si un utilisateur est sur un appareil mobile utilisant jQuery ?

DDD
Libérer: 2024-12-26 21:37:11
original
520 Les gens l'ont consulté

How can I detect if a user is on a mobile device using jQuery?

Comment détecter un appareil mobile à l'aide de jQuery

Détecter si un utilisateur accède à votre site Web à partir d'un appareil mobile peut être utile pour personnaliser votre le contenu ou l’expérience utilisateur en conséquence. jQuery, une bibliothèque JavaScript populaire, offre un moyen de réaliser cette détection, mais sa fonction $.browser n'est pas recommandée car elle fournit des informations limitées et potentiellement inexactes.

Au lieu de cela, vous pouvez utiliser une combinaison de JavaScript et CSS pour détecter les appareils mobiles. Une approche consiste à utiliser la propriété navigator.userAgent, qui contient des informations sur l'appareil, le navigateur et le système d'exploitation de l'utilisateur. En faisant correspondre la logique de détection de votre appareil aux valeurs connues dans la chaîne navigator.userAgent, vous pouvez déterminer si un appareil mobile est utilisé.

Voici un exemple de la façon dont vous pouvez procéder à l'aide d'un simple JavaScript :

if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
  // Some code for mobile devices
}
Copier après la connexion

Pour rendre cela plus accessible via jQuery, vous pouvez le combiner avec ce qui suit :

$.browser.device = (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase()));
Copier après la connexion

Cela étendra l'objet $.browser avec une propriété « device » qui indique si un appareil mobile est utilisé.

Remarque : La méthode jQuery $.browser incluse a été supprimée dans jQuery v1.9.1. Si vous devez utiliser cette méthode, vous pouvez installer le plugin de migration jQuery, qui fournit une couche de compatibilité pour les anciennes versions de jQuery.

Une approche plus approfondie :

var isMobile = false; // Initialize as false
if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) 
    || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) {
  isMobile = true;
}
Copier après la connexion

Cette version fournit un mécanisme de détection plus approfondi, couvrant une plus large gamme d'appareils mobiles.

N'oubliez pas que l'utilisation de la détection d'agent utilisateur n'est pas une pratique recommandée pour les applications Web modernes en raison de son limites et imprécisions. Envisagez plutôt d'utiliser la détection de fonctionnalités ou les requêtes multimédias, si possible.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal