webjump/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 分支,我们不再接受优化拉取请求,但只接受新的正则表达式和 User-Agent 以供我们的测试。在 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 类放在单独的 module 中,并且不要将其包含在脚本核心中,因为更新频率很高。 :point_right: 当将类包含到您的 web 应用程序module 中时,始终使用 include_once '../path/to/Mobile_Detect.php' 以防止冲突。

JavaScript

  • mobile-detect.js - Mobile-Detect 类的 JavaScript 端口。由 Heinrich Goebl 创建。

Varnish 缓存

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

LUA

  • mobile-detect.lua 是为 NGINX HTTP 服务器移植的 Mobile-Detect 到 Lua。与 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 - 根据各种属性(存档、用户、帖子、移动)和各种 WordPress "is" 函数向 body 标签添加独特的类,以便轻松样式化。移动属性包括设备类型、操作系统、浏览器等。例如:.is-mobile、.is-not-mobile、.is-tablet、.is-ios、.is-not-ios、.is-androidos、.is-chromebrowser。由 wescleveland56 创建。

Drupal

Joomla

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

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

Magento

PrestaShop

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

Laravel

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

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

Zend Framework

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

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

Symfony

Slim Framework

  • Slim_Mobile_Detect 为不同响应实现了 Mobile_Detect 库,用于 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 移动检测 是一个插件。由 Haiku Lab 的 Sergei Filippov 开发。

  • Kohana 移动检测 是一个使用 Kohana 框架实现 Mobile_Detect 类的示例。由 Luiz Alberto S. Ribeiro 编写。

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

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

  • engine7 是一个 PHP 开源框架。Mobile_Detect 类包含在引擎中。

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

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

  • LJ 移动检测 是 Craft CMS 的简单 Mobile Detect 实现。由 Lewis Jenkins 开发。

  • Grav 插件 移动检测 是 Grav CMS 的简单 Mobile Detect 实现。由 Dimitri Longo 开发。

Perl

Python

  • pymobiledetect - 移动设备检测的 Python 包。由 Bas van Oostveen 开发。

Ruby

  • mobile_detect.rb 是一个 Ruby gem,它使用由 PHP 项目公开的 JSON 数据,并实现 API 的基本子集(尽可能多)。由 Karthik T 开发。

Go

LUA

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