Lorsqu'un utilisateur utilise un terminal mobile tel qu'un téléphone mobile pour accéder au site Web, nous pouvons détecter le type de terminal utilisateur grâce au programme. S'il s'agit d'un utilisateur de téléphone mobile, nous guiderons l'utilisateur pour accéder à un site mobile adapté. à l'écran du téléphone portable. Cet article présentera l'utilisation des codes PHP et JAVASCRIPT pour déterminer le type de terminal utilisateur.
Version PHP
Nous utilisons $_SERVER['HTTP_USER_AGENT'] de PHP pour obtenir l'agent utilisateur du navigateur de l'utilisateur mobile, puis faisons correspondre diverses bibliothèques d'agents de navigateur mobile existantes. S'il contient des mots-clés correspondants, il est déterminé qu'il s'agit d'un téléphone mobile (mobile). terminal) utilisateur.
function is_mobile() { $user_agent = $_SERVER['HTTP_USER_AGENT']; $mobile_agents = array("240x320","acer","acoon","acs-","abacho","ahong","airness","alcatel","amoi", "android","anywhereyougo.com","applewebkit/525","applewebkit/532","asus","audio", "au-mic","avantogo","becker","benq","bilbo","bird","blackberry","blazer","bleu", "cdm-","compal","coolpad","danger","dbtel","dopod","elaine","eric","etouch","fly ", "fly_","fly-","go.web","goodaccess","gradiente","grundig","haier","hedy","hitachi", "htc","huawei","hutchison","inno","ipad","ipaq","iphone","ipod","jbrowser","kddi", "kgt","kwc","lenovo","lg ","lg2","lg3","lg4","lg5","lg7","lg8","lg9","lg-","lge-","lge9","longcos","maemo", "mercator","meridian","micromax","midp","mini","mitsu","mmm","mmp","mobi","mot-", "moto","nec-","netfront","newgen","nexian","nf-browser","nintendo","nitro","nokia", "nook","novarra","obigo","palm","panasonic","pantech","philips","phone","pg-", "playstation","pocket","pt-","qc-","qtek","rover","sagem","sama","samu","sanyo", "samsung","sch-","scooter","sec-","sendo","sgh-","sharp","siemens","sie-","softbank", "sony","spice","sprint","spv","symbian","tablet","talkabout","tcl-","teleca","telit", "tianyu","tim-","toshiba","tsm","up.browser","utec","utstar","verykool","virgin", "vk-","voda","voxtel","vx","wap","wellco","wig browser","wii","windows ce", "wireless","xda","xde","zte"); $is_mobile = false; foreach ($mobile_agents as $device) { if (stristr($user_agent, $device)) { $is_mobile = true; break; } } return $is_mobile; }
La fonction is_mobile() dans le code ci-dessus est utilisée pour déterminer le type de terminal utilisateur, résumer le HTTP_USER_AGENT collecté de divers téléphones mobiles aujourd'hui dans le tableau $mobile_agents et effectuer la correspondance. Lorsque vous l'utilisez, appelez simplement la fonction is_mobile(). Comme le montre le code suivant, lorsque l'utilisateur correspondant accède via un téléphone mobile, la page passe à la version mobile du site Web m.jb51.net.
if (is_mobile()) { header('Location:http://m.jb51.net'); } else { echo '请使用手机访问.'; }
Version Javascript
Vous pouvez également ajouter un script Javascript directement sur la page front-end pour déterminer le type de terminal de l'utilisateur. Javascript obtient également les informations sur l'agent utilisateur du navigateur, puis correspond à la bibliothèque d'informations sur l'agent utilisateur existante.
if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iOS|iPad|Backerry| WebOS|Symbian|Windows Phone|Phone)/i))) { location.replace("http://m.jb51.net") }else{ document.write("请使用手机访问."); }
Le code ci-dessus n'est pas encore complet et les amis intéressés sont invités à y ajouter.
Bien sûr, nous pouvons également utiliser une mise en page réactive pour s'adapter à différents écrans, ce qui peut réduire les coûts de développement. Cependant, lorsque les clients ont des exigences fonctionnelles pour les sites Web mobiles, pour les sites mobiles indépendants, il est préférable d'utiliser l'identification de l'utilisateur à l'entrée du site Web. Généralement, nous jugeons le type de terminal d'accès sur la page d'accueil du site Web principal. S'il s'agit d'un visiteur mobile, il accédera à la page de la version mobile. Sinon, accédera à la page de la manière normale sur PC.