Apabila pengguna menggunakan terminal mudah alih seperti telefon bimbit untuk mengakses laman web, kami boleh mengesan jenis terminal pengguna melalui program Jika ia adalah pengguna telefon bimbit, kami akan membimbing pengguna untuk mengakses tapak mudah alih yang disesuaikan ke skrin telefon bimbit. Artikel ini akan memperkenalkan penggunaan kod PHP dan JAVASCRIPT untuk menentukan jenis terminal pengguna.
Versi PHP
Kami menggunakan $_SERVER['HTTP_USER_AGENT'] PHP untuk mendapatkan ejen pengguna penyemak imbas pengguna mudah alih, dan kemudian memadankan pelbagai perpustakaan ejen penyemak imbas mudah alih sedia ada Jika ia mengandungi kata kunci yang sepadan, ia ditentukan sebagai telefon mudah alih (mudah alih terminal) pengguna.
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; }
Fungsi is_mobile() dalam kod di atas digunakan untuk menentukan jenis terminal pengguna, meringkaskan HTTP_USER_AGENT pelbagai telefon bimbit hari ini ke dalam tatasusunan $mobile_agents dan melakukan pemadanan. Apabila menggunakannya, panggil sahaja fungsi is_mobile(). Seperti yang ditunjukkan dalam kod berikut, apabila pengguna yang sepadan mengakses melalui telefon mudah alih, halaman tersebut melompat ke versi mudah alih tapak web m.jb51.net.
if (is_mobile()) { header('Location:http://m.jb51.net'); } else { echo '请使用手机访问.'; }
Versi JavaScript
Anda juga boleh menambah skrip Javascript terus ke halaman hadapan untuk menentukan jenis terminal pengguna. Javascript juga mendapatkan maklumat ejen pengguna penyemak imbas dan kemudian sepadan dengan perpustakaan maklumat ejen pengguna sedia ada.
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("请使用手机访问."); }
Kod di atas masih belum lengkap, dan rakan-rakan yang berminat dialu-alukan untuk menambahnya.
Sudah tentu, kami juga boleh menggunakan reka letak responsif untuk memadankan pelbagai skrin, yang boleh menjimatkan kos pembangunan Walau bagaimanapun, apabila pelanggan mempunyai keperluan berfungsi untuk tapak web mudah alih, untuk tapak mudah alih bebas, sebaiknya gunakan pengenalan pengguna di pintu masuk tapak web. . Secara umumnya, kami menilai jenis terminal akses pada halaman utama tapak web utama. Jika ia adalah pelawat mudah alih, ia akan melompat ke halaman versi mudah alih.