在这节课开始之前,我们需要下下你了解一下 User-Agent(UA),它是 Http 协议中的一部分,客户端会通过这个请求头向访问网站提供浏览器类型、操作系统及版本、浏览器渲染引擎、浏览器语言等等信息的标识。UA 是一个字符串,在每次浏览器 HTTP 请求时发送到服务器。
随便打开一个网站,使用开发者工具查看一下网络请求:

介绍
我们可以利用 User-Agent 做很多事情,比如:
- 统计用户都使用什么浏览器,使用什么设备访问我们的网站。
- 根据浏览器或设备的不同,显示不同的排版及内容,为用户提供更好的体验。如手机和根据浏览器或设备的不同,显示不同的排版及内容,为用户提供更好的体验。如手机和 PC 中应该有不同的排版;ios 打开的页面,可以增加个按钮跳转到 itunes 应用商店下载我们的 APP 等。
安装
今天我们要学习的扩展包 Mobile Detect 提供了非常优雅的接口,使用起来非常方便,一起来快速了解一下。
如果我们使用的 laravel 或者 TP 可以直接使用 composer 安装:
composer require mobiledetect/mobiledetectlib
或在composer.json文件中包含依赖项:
{
"require": {
"mobiledetect/mobiledetectlib": "^2.8"
}
}
如果是 laravel 请参考 jenssegers/agent教程。
使用
//包含并实例化该类。
require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;
//任何移动设备(手机或平板电脑)
if ( $detect->isMobile() ) {
}
//任何平板设备
if( $detect->isTablet() ){
}
//排除平板电脑。
if( $detect->isMobile() && !$detect->isTablet() ){
}
//借助魔术方法检查特定平台:
if( $detect->isiOS() ){
}
if( $detect->isAndroidOS() ){
}
//替代方法是()用于检查特定属性。
//警告:此方法在BETA中,某些关键字属性将来会发生变化。
$detect->is('Chrome')
$detect->is('iOS')
$detect->is('UC Browser')
// [...]
//使用setUserAgent()的批处理模式:
$userAgents = array(
'Mozilla/5.0 (Linux; Android 4.0.4; Desire HD Build/IMM76D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19',
'BlackBerry7100i/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/103',
// [...]
);
foreach($userAgents as $userAgent){
$detect->setUserAgent($userAgent);
$isMobile = $detect->isMobile();
$isTablet = $detect->isTablet();
//使用你想要的力量。
}
//获取组件的version()。
//警告:此方法在BETA中,某些关键字属性将来会发生变化。
$detect->version('iPad'); // 4.3(浮动)
$detect->version('iPhone');// 3.1(浮动)
$detect->version('Android'); // 2.1(浮动)
$detect->version('Opera Mini'); // 5.0(浮动)
// [...]
检测浏览器版本
要模拟不同的浏览器 User-Agent 可以安装一个浏览器插件 Http User-Agent Switcher 可以让我们很好的去测试。
更多内容请关注 极客仿
本文介绍了User-Agent(UA)在HTTP协议中的作用,用于识别浏览器类型、操作系统等信息。通过UA,可以统计访问设备类型,优化不同设备的网站排版,并提供了Mobile Detect扩展包的安装和使用方法,帮助检测浏览器版本。


被折叠的 条评论
为什么被折叠?



