目前,一个网站有多个版本是很正常的,如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.xiaoyuit.com网站时重定向到m.xiaoyuit.com中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | /*根据文件位置更改路径信息*/ require_once 'Mobile_Detect.php' ; $detect = new Mobile_Detect; if ( $detect ->isMobile()) { header( 'Location: http://m.xiaoyuit.com/' ); exit ; } 这是定向到移动网站,下面还有其他形式的重定向: //所有平板设备 if ( $detect ->isTablet()) { } //是移动但非平板设备 if ( $detect ->isMobile() && ! $detect ->isTablet()) { } //IOS系统 if ( $detect ->isiOS()) { } //Android系统 if ( $detect ->isAndroidOS()) { } //WindowsPhone系统 if ( $detect ->isWindowsPhoneOS()) { } |
实例2:根据不同设备加载不同资源
如上所述,我们还可以根据不同的浏览设备加载不同的CSS文件。如:
1 2 3 4 5 6 | $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' =" ">" ; }</link rel='stylesheet' href='style.css type='text></link rel='stylesheet' href='mobile.css type='text> |
注意,mobile detection是一个移动设备检测平台,随着科技的进步会有不同的设备出现,因此你需要随时更新类库,这样才能保证检测的准确性。