网站访问设备识别

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

随便打开一个网站,使用开发者工具查看一下网络请求:

网站访问设备识别_第1张图片

介绍


我们可以利用 User-Agent 做很多事情,比如:

  1. 统计用户都使用什么浏览器,使用什么设备访问我们的网站。
  2. 根据浏览器或设备的不同,显示不同的排版及内容,为用户提供更好的体验。如手机和根据浏览器或设备的不同,显示不同的排版及内容,为用户提供更好的体验。如手机和 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 可以让我们很好的去测试。

更多内容请关注 极客仿

你可能感兴趣的:([学习教程])