braspag/mobiledetectlib

Mobile_Detect 是一个轻量级的 PHP 类,用于检测移动设备。它通过结合 User-Agent 字符串和特定的 HTTP 头部信息来检测移动环境。


README

Mobile Detect

座右铭:"每个企业都应该有一个移动检测脚本来检测移动读者."

Build Status Latest Stable Version Total Downloads Daily Downloads License

Mobile_Detect 是一个轻量级的 PHP 类,用于检测移动设备(包括平板电脑)。它通过结合 User-Agent 字符串和特定的 HTTP 头部信息来检测移动环境。

我们致力于使 Mobile_Detect 成为最好的开源移动检测资源,这就是为什么在每次发布之前,我们都在运行单元测试,我们还每天和每周更新检测规则。

你的网站的内容策略很重要!你需要一个完整的工具包来提供一种优化、快速且与用户相关的体验。Mobile_Detect 类是一个 服务器端检测 工具,可以帮助你制定 RWD 策略,它不是 CSS3 媒体查询或其他客户端功能检测形式的替代品。

公告

对于 2.x 分支,我们不再接受优化拉取请求,只接受新的正则表达式和用于测试的用户代理。在 2.x 版本中,我们专注于 新平板电脑。所有关于电视、机器人或优化的拉取请求将在 3.0.0-beta 发布后关闭和分析。

仍在 3.0.0 分支上工作以提供设备检测!我们对这个非常兴奋!我们希望加快这个进程,但生活和家庭占据了空间 ;)

特别感谢 JetBrains 提供了 PHPStorm 的许可证。如果你从未听说过或尝试过 PHPStorm,那你肯定错过了!查看 PHPStorm

下载和演示

持续更新

你可以在发布和更新过程中使用 composer 来确保你有最新的 Mobile_Detect 版本。

composer require mobiledetect/mobiledetectlib
{
    "require": {
        "mobiledetect/mobiledetectlib": "^2.8"
    }
}
帮助

我现在正在为托管付费,并花费了很多家庭时间来维护项目并规划未来的发布。我将非常感激任何支持研究继续进行的资金捐赠。

特别感谢社区 👍 的捐赠,BrowserStack - 提供他们的平台访问,Zend - 捐赠许可证,Dragos Gavrila 贡献了标志。

第三方模块 / [提交新模块](../../issues/new?title=New%203rd%20party%20module&body=Name, Link and Description of the module.)

👉 将 Mobile_Detect.php 类放在一个单独的 模块 中,并且不要将其包含在脚本核心中,因为更新频率很高。 :point_right: 当将类包含到你的 web 应用模块 中时,始终使用 include_once '../path/to/Mobile_Detect.php 以防止冲突。

JavaScript

Varnish Cache

  • Varnish Mobile Detect - 基于Mobile-Detect库的移动用户检测的即插即用Varnish解决方案。由willemk制作。
  • mobiledetect2vcl - 将Mobile Detect JSON数据库转换为基于UA的移动检测VCL子例程的Python脚本,易于集成到任何Varnish Cache配置中。由Carlos Abalde制作。

LUA

  • mobile-detect.lua - 将Mobile-Detect移植到Lua的NGINX HTTP服务器版本,与mobile-detect.js非常相似。支持服务器端mobile-detect.js支持的所有方法。经过全面单元测试,并与Travis CI同步(包含构建通过徽章)。由Mark Walters制作。

PHP

WordPress

  • WordPress Mobile Detect - 允许您使用[notdevice][/notdevice]短代码将信息图表包裹起来,在服务器级别,WordPress将决定仅在用户不在手机或平板电脑上时显示该内容。由Jesse Friedman制作。

  • mobble - 为您的网站提供与移动相关的条件函数,例如is_iphone()is_mobile()is_tablet()。由Scott Evans制作。

  • WordPress Responsage - 允许您使您的图像响应式的小型WordPress主题插件。由Adrian Ciaschetti制作。

  • WP247 Body Classes - 向body标签添加独特的类,以便根据各种属性(存档、用户、帖子、移动)和WordPress "is"函数轻松进行样式设计。移动属性包括设备类型、操作系统、浏览器等。示例:.is-mobile、.is-not-mobile、.is-tablet、.is-ios、.is-not-ios、.is-androidos、.is-chromebrowser。由wescleveland56制作。

Drupal

Joomla

  • yagendoo Joomla! Mobile Detection Plugin - 使用Mobile Detect类检测移动浏览器的轻量级PHP插件。由yagendoo media制作。

  • 用户代理检测插件 - 此系统插件检测您的网站访客的用户代理,并根据用户代理设置相应的会话变量。根据用户代理,插件可以检测网站是否运行在台式电脑、平板电脑或智能手机上。它还可以检测访客是否为爬虫(搜索引擎)。设置的会话变量:ualayout。可能的值:桌面、平板、移动、爬虫。由 @ReneKreijveld 制作。

Magento

PrestaShop

  • PrestaShop 是一个免费、安全且开源的购物车平台。Mobile_Detect从1.5.x版本开始包含在默认包中。

Laravel

  • Agent 是一个基于Mobile Detect的Laravel用户代理类,具有一些附加功能。由 Jens Segers 制作。

  • BrowserDetect 是一个浏览器和移动检测包,收集并包装了Laravel最佳的用户代理标识符。由 Varga Zsolt 创建。

Zend Framework

  • ZF2 Mobile-Detect 是一个提供Mobile-Detect功能(Mobile_Detect类作为服务、视图助手和插件控制器助手)的Zend Framework 2模块。由 neilime 制作。

  • ZF2 MobileDetectModule 简化了PHP MobileDetect类与基于ZF2的应用的集成。与现有的ZF2 Mobile-Detect模块有类似的想法,但在Mobile_Detect类的初始化和提供例程方面有所不同。适当的视图助手和控制器插件也有不同的概念。由 Nikola Posa 制作。

Symfony

Slim Framework

ExpressionEngine

Yii Framework

CakePHP

FuelPHP

  • Special Agent 是一个 FuelPHP 包,使用 php-mobile-detect 来确定设备是否为移动设备。它覆盖了 Fuelphp Agent 类及其方法。由 Robbie Bardjin 制作。

TYPO3

  • px_mobiledetect 是一个帮助检测访问者移动设备类别的扩展(如果是平板电脑或智能手机等移动设备)。由 Alexander Tretyak 制作。

其他

  • PageCache 是一个轻量级的 PHP 库,用于全页缓存,内置 Mobile-Detect 支持。由 Muhammed Mamedov 制作。

  • Statamic CMS Mobile Detect 是一个插件。由 Haiku Lab 的 Sergei Filippov 制作。

  • Kohana Mobile Detect 是使用 Kohana 框架实现 Mobile_Detect 类的示例。由 Luiz Alberto S. Ribeiro 编写。

  • MemHT 是一个免费 PHP CMS 和博客,允许通过几个简单步骤创建和管理网站。核心中包含该类。

  • concrete5 是一个免费开源的 CMS。库包含在核心中。

  • engine7 是 PHP 开源框架。Mobile_Detect 类包含在框架中。

  • Zikula 是一个免费开源的内容管理框架,允许您运行令人印象深刻的网站并构建强大的在线应用程序。核心使用 Mobile-Detect 切换到特殊的移动主题,使用 jQueryMobile。

  • UserAgentInfo 是一个用于解析用户代理字符串(HTTP_USER_AGENT)的 PHP 类。包括移动检查、机器人检查、浏览器类型/版本等。基于 browscap、Mobile_Detect 和 ua-parser。为高流量网站和快速批量处理而创建。由 quentin389 制作。

  • LJ Mobile Detect 是 Craft CMS 中 Mobile Detect 的简单实现。由 Lewis Jenkins 制作。

  • Grav Plugin Mobile Detect 是 Grav CMS 中 Mobile Detect 的简单实现。由 Dimitri Longo 制作。

Perl

Python

  • pymobiledetect - 移动检测 Python 包。由 Bas van Oostveen 制作。

Ruby

  • mobile_detect.rb 是一个使用 php 项目暴露的 JSON 数据实现的 Ruby 珠宝,实现了 API 的基本子集(尽可能多的基于暴露的数据)。由 Karthik T 制作。

Go

LUA

  • ua-lua 是一个用 LUA 编写的库,提供设备类型检测。ua-lua 根据用户代理在 nginx 守护进程内部检测移动或平板设备。由 Frédéric Robinet 制作。