dmolsen / detector
为您的应用程序提供浏览器和功能检测
Requires
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),他们通过 Profile 和 RESS 提供了灵感。