wolfcast/browser-detection

Wolfcast BrowserDetection PHP 类简化了对用户环境的识别,如浏览器、版本、平台系列、平台版本或是否为移动设备。

2.9.8 2024-04-22 02:21 UTC

This package is auto-updated.

Last update: 2024-09-22 03:08:50 UTC


README

The Wolfcast BrowserDetection PHP 类简化了对用户环境的识别,如Web浏览器、版本、平台系列、平台版本或是否为移动设备。

此类将尝试从浏览器发送的 HTTP_USER_AGENT 字符串中检测用户正在使用的内容。使用此类的一个好方法是收集用户统计信息或为了信息目的报告所使用的浏览器和版本。使用此类的一个坏方法是基于浏览器和版本提供内容。强烈建议,依赖用户代理字符串的网站应更新到现代技术,如功能检测、自适应布局和其他现代实践。

始终牢记,HTTP_USER_AGENT 可以很容易地被用户伪造。

功能

The Wolfcast BrowserDetection PHP 类是最精确的检测类。它已与14000多个不同的用户代理字符串进行了测试,并具有99.95%的准确率!

原生检测以下浏览器

  • Android
  • BlackBerry
  • BlackBerry Tablet OS
  • Chrome
  • Edge
  • Firebird
  • Firefox
  • GNU IceCat
  • GNU IceWeasel
  • iCab
  • Internet Explorer
  • Internet Explorer Mobile
  • Konqueror
  • Lynx
  • Mozilla
  • MSN TV
  • Netscape
  • Nokia Browser
  • Opera
  • Opera Mini
  • Opera Mobile
  • Phoenix
  • Safari
  • Samsung Internet
  • UC Browser

您还可以轻松添加自定义规则以支持其他未原生支持的浏览器!

原生检测以下机器人

  • Bingbot
  • Googlebot
  • MSNBot
  • W3C Validator
  • Yahoo! Multimedia
  • Yahoo! Slurp

您还可以轻松添加自定义规则以支持其他未原生支持的机器人!

原生检测以下平台

  • Android
  • BlackBerry
  • Chrome OS
  • FreeBSD
  • iOS
  • Linux
  • Macintosh
  • NetBSD
  • Nokia
  • OpenBSD
  • OpenSolaris
  • Symbian
  • Windows
  • Windows CE
  • Windows Phone

您还可以轻松添加自定义规则以支持其他未原生支持的平台!

要求

需要PHP 5.3或更高版本(已测试与PHP 8.3.6、7.4.33和5.6.40兼容)。

演示和完整文档

您可以尝试类的实时演示,您还可以阅读文档

安装

您可以使用 ComposerPackagist链接)将此库添加为项目依赖项。

composer require wolfcast/browser-detection

您还可以通过将 BrowserDetection.php (位于 lib 目录中)添加到项目中,并在需要的位置使用 require_once 手动安装此库。

用法

require_once('BrowserDetection.php');

$browser = new Wolfcast\BrowserDetection();
if ($browser->getName() == Wolfcast\BrowserDetection::BROWSER_FIREFOX &&
    $browser->compareVersions($browser->getVersion(), '5.0') >= 0) {
    echo 'You are using FireFox version 5 or greater.';
}

历史

正确识别用户所使用的浏览器是一个极其复杂的任务。如果您曾经尝试过实施类似的功能,很快就会发现这会变成一个混乱的代码。只有少数几个库存在,而且它们通常会被废弃并变成遗留软件。这就是我们创建自己的检测引擎的原因。我们并不是从头开始。这个类是Chris Schuld的浏览器类版本1.9的一个大幅更新版本(该版本已经停止维护几年了)。Chris的类是基于Gary White的原始工作的。

许可证

SPDX-License-Identifier: MIT OR LGPL-3.0-only