内頁Banner背景圖
創絡講堂
白(bái)色波浪圖形
灰色波浪圖形 灰色波浪圖形
白(bái)色波浪圖形 白(bái)色波浪圖形
白(bái)色波浪圖形 白(bái)色波浪圖形
白(bái)色波浪圖形 白(bái)色波浪圖形
本文于2014-12-04最後更新,距今已超過1年(nián),如(rú)不符合現在的實際情況,可(kě)聯系創絡客服獲取幫助或查閱近期文章(zhāng)。

手機(jī)版網站(zhàn)和電腦版網站(zhàn)的自(zì)動識别并跳(tiào)轉

大(dà)家可(kě)以嘗試一下用手機(jī)訪問(wèn)我公司官方網站(zhàn)(www.chuangluo.com),系統會自(zì)動識别并跳(tiào)轉到手機(jī)版網站(zhàn)去(qù);同樣的,如(rú)果使用電腦訪問(wèn)手機(jī)版網站(zhàn)(m.chuangluo.com),系統也會自(zì)動識别并跳(tiào)轉到對應的電腦版網址去(qù)。目前已經有很多同時擁有手機(jī)版網站(zhàn)和電腦版網站(zhàn)的大(dà)型企業網站(zhàn)使用了這樣的技術(shù),那小型公司網站(zhàn)如(rú)果也有這種需求的話(huà),應該如(rú)何實現呢(ne)?

實現手機(jī)版網站(zhàn)和電腦版網站(zhàn)的自(zì)動識别并跳(tiào)轉的條件(jiàn)

首先肯定是需要有兩個不同版本的網站(zhàn),這是必然的!第二個條件(jiàn)是這兩個版本的網站(zhàn)數據要基本同步。以我公司官方網站(zhàn)爲例,電腦版網站(zhàn)的頁面比手機(jī)版的多,手機(jī)版有的頁面,電腦版全部都(dōu)有。這是因爲我們電腦版網站(zhàn)上有很多靜(jìng)态的專題頁,而手機(jī)版則沒有,例如(rú):網站(zhàn)價格評估、域名查詢等。因此,我們隻需要實現自(zì)動識别這一部分(fēn)頁面并跳(tiào)轉即可(kě)。

如(rú)何實現自(zì)動識别并跳(tiào)轉

由于我公司目前開發網站(zhàn)的語言是主流的PHP,因此我們此處隻討(tǎo)論PHP的實現方法,其他(tā)語言請(qǐng)直接參考本方法稍作(zuò)修改即可(kě)。核心原理(lǐ)是通過程序判斷$_SERVER[?HTTP_USER_AGENT?]中是否包含了手機(jī)訪問(wèn)的一些特征信息,例如(rú)屏幕尺寸,手機(jī)品牌或者其他(tā)特征信息。此處一提供兩個方法供大(dà)家參考:

方法一:

判斷函數

function is_mob() {
    $user_agent = $_SERVER[?HTTP_USER_AGENT?];
    $mob_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","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_mob = false;
    foreach ($mob_agents as $device) {
     if (stristr($user_agent, $device)) {
   $is_mob = true;
   break;
     }
    }
    return $is_mob;
   }

調用函數

if(is_mob())
   {
  //通過$_SERVER["REQUEST_URI"]取出具體(tǐ)頁面網址,修改域名後并跳(tiào)轉。
  }

方法二:

$ua = strtolower($_SERVER[?HTTP_USER_AGENT?]);
$uachar = "/(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic|alcatel|lenovo|cldc|midp|mobile)/i"
if(($ua == ?? || preg_match($uachar, $ua))&& !strpos(strtolower($_SERVER[?REQUEST_URI?]),?wap?))
{
 //通過$_SERVER["REQUEST_URI"]取出具體(tǐ)頁面網址,修改域名後并跳(tiào)轉。
}

兩種方法中推薦使用第一種,識别率相(xiàng)對較高;第二種效率更高,但(dàn)識别率相(xiàng)對較低。兩種方法均整理(lǐ)自(zì)互聯網,大(dà)家在使用的時候可(kě)以稍加修改,以實現更多功能。

上一條 返回目錄 下一條
更多閱讀(dú)選擇
相(xiàng)關文章(zhāng)
我們推薦了一些您可(kě)能也會感興趣的文章(zhāng)
客服電話(huà)
  • 0755-23698839
  • 134-1757-3710
  • 132-6576-8769
創絡建站(zhàn)客服二維碼
不出售過期域名
微信咨詢