dmolsen/detector

为您的应用程序提供浏览器和功能检测

v085.x-dev 2015-09-16 08:40 UTC

This package is not auto-updated.

Last update: 2024-09-23 11:22:31 UTC


README

Detector是一个简单的基于PHP和JavaScript的浏览器和功能检测库,它可以自动适应新的设备和浏览器,无需从浏览器信息中心数据库中获取信息。

Detector使用浏览器的(主要)唯一的用户代理字符串作为键动态创建配置文件。通过使用Modernizr,它记录请求的浏览器可能支持或可能不支持HTML5和CSS3功能。使用ua-parser-php收集并记录用户代理字符串可能包含的任何有用信息(如操作系统或设备名称)。

使用Detector,开发者可以向请求的浏览器提供适当的标记、样式表和JavaScript,而无需完全依赖前端资源加载器或保持浏览器检测库的更新。

Detector的服务器部分基于James Pearce的modernizr-server和浏览器检测库ua-parser-php。Detector利用Modernizr为其客户端提供功能检测支持。

Detector演示

一个简单的Detector演示可供测试。它现在也已在西弗吉尼亚大学主页上投入生产。

功能

以下功能是Detector v0.8.5的版本

  • 使用Modernizr 2.5.2列表)和基于ua-parser-php(基于ua-parser)检测的浏览器和设备信息在服务器上存储功能检测,作为浏览器配置文件的一部分,以便于检索
  • 使用用户代理字符串作为查找信息的唯一键(例如,每个用户代理一个配置文件)
  • 大多数测试只对每个唯一的用户代理字符串运行一次,因此只有一个用户被测试和重定向
  • 添加您自己的功能测试并使用Modernizr的addTest() API存储结果
  • 可以创建在用户代理、会话或每个请求上运行的测试
  • 对浏览器配置文件进行版本管理,以便在添加新测试后强制它们重新创建
  • 轻松根据支持的功能和设备信息将浏览器组织成家族
  • 即使浏览器和机器人不使用JavaScript或cookies,也可以使用默认浏览器配置文件使用您的网站
  • 为不支持javascript或cookies的搜索引擎和浏览器提供默认家族,以确保您的最佳侧总是显示
  • 通过家族切换为您的移动用户提供“桌面”视图(假设您使用模板系统)
  • 通过CSS类和/或类似Modernizr的JavaScript对象将功能信息推送到浏览器
  • 使用类似 Mustache 的模板系统来创建一个 RESS 系统

教程

更多信息

致谢

首先,我要感谢 James Pearce (@jamespearce) 编写了 modernizr-server 并为我提供了一个很好的工作基础。我还从他的一些 README 文本中借鉴了一些内容,并将其用于“将 Detector 添加到您的应用程序”这一部分。此外,我还要感谢 Modernizr 团队为开发者提供了一个优秀的库,并允许通过 Modernizr.addTest() 扩展 Modernizr。最后,我要感谢 Yiibu 的 Bryan Rieger (@bryanrieger) 和 Stephanie Rieger (@stephanierieger) 以及 Luke Wroblewski (@lukew),他们通过 ProfileRESS 提供了灵感。