目前,一個網站有多個版本是很正常的,如PC版,3G版,移動版等等。根據不同的浏覽設備我們需要定向到不同的版本中。不僅如此,我們有時候還需要根據不同的客戶端加載不同的CSS,因此我們需要能夠檢測浏覽設備,SO,我們就需要用到“mobile detection”類庫。
“mobile detection”是一個輕量級移動設備檢測的PHP類庫,它采用結合特定的HTTP標頭中的User-Agent字符串來檢測移動客戶端環境。注意,mobile detection 只是一個服務器端(PHP)的檢測工具,並不能代替響應式Web設計或其他任何形式的客戶端功能檢測。
mobile detection 類庫下載地址:https://github.com/serbanghita/Mobile-Detect
實例1:根據設備重定向到其他版本
當我們使用移動設備浏覽某網站時,需要定向到該網站的移動版,首先將具有檢測功能的文件Mobile_Detect.php包含到網頁中或主頁中,現在我們來實現浏覽www.uncletoo.com網站時重定向到m.uncletoo.com中:
復制代碼 代碼如下:
/*根據文件位置更改路徑信息*/
require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;
if($detect->isMobile()) {
header('Location: http://m.uncletoo.com/');
exit;
}
這是定向到移動網站,下面還有其他形式的重定向:
//所有平板設備
if( $detect->isTablet()) {
}
//是移動但非平板設備
if( $detect->isMobile() && !$detect->isTablet()) {
}
//IOS系統
if( $detect->isiOS()) {
}
//Android系統
if( $detect->isAndroidOS()) {
}
//WindowsPhone系統
if( $detect->isWindowsPhoneOS()) {
}
實例2:根據不同設備加載不同資源
如上所述,我們還可以根據不同的浏覽設備加載不同的CSS文件。如:
復制代碼 代碼如下:
$detect = new Mobile_Detect;
if($detect->isMobile() || $detect->isTablet()) {
echo "<link rel='stylesheet' href='mobile.css type='text/css' />";
} else {
echo "<link rel='stylesheet' href='style.css type='text/css' />";
}
注意,mobile detection是一個移動設備檢測平台,隨著科技的進步會有不同的設備出現,因此你需要隨時更新類庫,這樣才能保證檢測的准確性。