elao/browser-detector-bundle

此包已被弃用且不再维护。作者建议使用 piwik/device-detector 包。

Elao 浏览器检测包

安装次数: 2,323

依赖项: 0

建议者: 0

安全性: 0

星标: 15

关注者: 25

分支: 5

开放问题: 0

类型:symfony-bundle

1.1.2 2015-01-23 16:26 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:25:44 UTC


README

已弃用:请使用 https://github.com/piwik/device-detector 代替。

变更日志

  • 1.1.0
    • BrowserCap 和 Browser 现在是单独的 ElaoBrowserDetector 组件
    • 重命名一些参数
    • 修复 composer

安装

通过 composer 需求此包

"require": {
	"elao/browser-detector-bundle": "1.1.*"
}

将包添加到 AppKernel.php

new Elao\Bundle\BrowserDetectorBundle\ElaoBrowserDetectorBundle()

配置

注册您应用程序不支持或不完全支持的浏览器

elao_browser_detector:
	browsers:
    	partially_compatible:
        	"Internet Explorer": "<9"
       		"Opera": ~
    	incompatible:
       		"IE": "<=7"

接受的版本格式

  • none : 任何版本号,例如: "Firefox": ~ (任何 Firefox 版本都会匹配)
  • 'n' : 精确版本号,例如: "Firefox": '3.6' (只有 Firefox 3.6 会匹配)
  • '>n' : 严格大于,例如: "Firefox": '>3.6' (Firefox 3.6 不会匹配,Firefox 3.7 会)
  • '
  • '>=n' : 等于或更高版本,例如: "Firefox": '>=3.6' (Firefox 3.6 和 3.7 会匹配)
  • '<=n' : 等于或更低版本,例如: "Firefox": '<=3.6' (Firefox 3.6 和 3.5 会匹配)

工作原理

  • 此包监听 kernel.request 事件。
  • 它从每个主请求的请求中获取 user-agent http 标头指令。
  • 它使用 php get_browser 函数(基于 browscap.ini 文件)来检测使用的是哪个浏览器。
  • 它实例化一个 Elao\BrowserDetector\Browser 对象,该对象将根据您的配置解决当前浏览器的兼容性。

用法

BrowserDetector 服务

获取 BrowserDetector 服务或将其注入到您的服务中: elao.browser_detector

$browserDetector = $container->get('elao_browser_detector');
// or
<argument type="service" id="elao_browser_detector" />

现在您可以从 BrowserDetector 服务中获取一些兼容性信息

// Compatibility issers :
$browserDetector->isCompatible();
$browserDetector->isPartiallyCompatible();
$browserDetector->isIncompatible();

访问当前浏览器实例

如果需要,您可以处理提供各种辅助方法集的 Browser 对象

// Get the current Browser instance:
$browser = $browserDetector->getBrowser();

// Get the Name of the browser, ex: 'Firefox'
$browser->getName();

// Get the Version of the browser, ex: '22.0'
$browser->getVersion();

// Get the platform of the browser, ex: 'MacOsX'
$browser->getPlatform();

// Compatibility issers:
is(string $name, int $version = null)
isPlatform(string $platform)
isExactly(int $version)
isLaterThan(int $version)
isEqualOrLaterThan(int $version)
isEarlierThan(int $version)
isEqualOrEarlierThan(int $version)