mimmi20 / detector
为您的应用程序提供浏览器和功能检测
Requires
- php: >=5.5.0
- browscap/browscap-php: *@dev
- mimmi20/modernizr-server: dev-master
- mimmi20/wurflcache: ~1.3
- monolog/monolog: ~1.13
- ua-parser/uap-php: dev-master
Requires (Dev)
This package is not auto-updated.
Last update: 2022-02-01 12:50:41 UTC
README
Detector 是一个简单的基于 PHP 和 JavaScript 的浏览器和功能检测库,可以自动适应新设备和浏览器,无需从浏览器信息中心数据库中提取。
Detector 使用浏览器的 (主要是) 唯一用户代理字符串作为键动态创建配置文件。使用 Modernizr 记录请求浏览器可能或可能不支持 HTML5 & CSS3 功能。使用 ua-parser 的 PHP 实现 收集和记录用户代理字符串可能包含的任何有用信息 (如操作系统或设备名称)。
使用 Detector,开发者可以为请求的浏览器提供适当的标记、样式表和 JavaScript,而无需完全依赖于仅支持前端资源的加载器或需要更新的浏览器检测库。
Detector 的服务器端部分基于 James Pearce 的 modernizr-server 和浏览器检测库 PHP 实现 ua-parser。Detector 利用 Modernizr 提供客户端功能检测支持。
Detector 的演示
一个简单的 Detector 演示可供测试。它现在还生产在 西弗吉尼亚大学首页 上。
功能
以下功能是 Detector 的 v0.8.5 版本
- 使用 Modernizr 2.6.1 (列表) 检测功能,并在服务器上检测到浏览器和设备信息,作为浏览器配置文件的一部分以方便检索
- 使用用户代理字符串作为查找信息的唯一键(例如,每个用户代理一个配置文件)
- 大多数测试仅在唯一的用户代理字符串上运行一次,因此只有一个用户被测试和重定向
- 添加您自己的功能测试 并使用 Modernizr 的 addTest() API 存储结果
- 可以创建一次针对用户代理、一次针对会话或每次请求执行的测试
- 对浏览器配置文件进行版本控制,以便在添加新测试后强制它们被重新创建
- 轻松根据支持的功能和设备信息将浏览器组织成家族
- 不使用 JavaScript 或 cookie 的浏览器和机器人仍然可以使用默认浏览器配置文件使用您的网站
- 为不支持javascript或cookie的搜索引擎和浏览器提供默认字体族,确保您的最佳效果始终显示
- 通过字体族切换为您的移动用户提供“桌面”视图(假设您使用模板系统)
- 通过CSS类和/或类似Modernizr的JavaScript对象将功能信息推送到浏览器
- 与Mustache等模板系统一起使用,创建一个RESS系统
- 信心检查,有助于确定基于每个UA收集的数据是否正确
教程
更多信息
致谢
首先,感谢James Pearce(@jamespearce)构建了modernizr-server,为我提供了一个很好的工作基础。我还从他的README文件中借鉴了一些内容,并在“将Detector添加到您的应用程序”部分中使用它。此外,感谢Modernizr背后的团队为开发者提供了一个伟大的库,以及通过Modernizr.addTest()
扩展Modernizr的能力。最后,感谢Yiibu的Bryan Rieger(@bryanrieger)和Stephanie Rieger(@stephanierieger)通过Profile以及Luke Wroblewski(@lukew)通过RESS提供灵感。