环境检测工具 V2
检测用户当前使用的设备、系统等硬件环境。
V2.0.1发行
!!!V2.0.0版本因代码兼容问题,导致出现异常问题,请及时更新V2.0.1版本。
V2.0.1版本现已发行,该版本基于ua-parser-js进行重构,兼容性得到显著提高,并支持使用更多配置选项。
✅ 新增:使用getEngineView检测渲染器名称及版本。✅ 新增:品牌检测方法BrandFunc,支持热门品牌类型检测。🚀 重构:getBrowserView、getDeviceView自定义方法变更,现已支持更多类型浏览器检测。🚀 重构:检测方法采用全新逻辑处理,结合uaparser.js实现。🔙 移除:getBrowserView的isBrowser属性已移除。🔙 移除:isBrowser()方法已移除。🩹 修复:V2.0.0版本因未对关键方法做兼容处理导致异常报错。
建议您使用最新V2.0.1版本。
说明
部分方法、函数可能使用废弃的JS API实现,或使用了实验性功能,该标准取决于MDN文档,如使用包含下列特殊备注的方法、函数,epackage-device-detect默认您已接受未知的风险。
特殊标识列表:
🧪 :实验性,该方法采用了实验性API实现,未来版本可能会被删除。
🚮 :废弃的,该方法使用了已废弃的JS API实现,epackage-device-detect将会在未来版本中找到最优解决方案。
❌ :不可使用,该标识下的方法暂未实现,但在未来版本中可能会实现,未实现方法返回值默认为true。
安装
- npm
npm install epackage-device-detect
- yarn:
yarn add epackage-device-detect
如何使用
您可以使用以下方法导入:
import device from 'epackage-device-detect';
function getDevice() {
const browserData = device.getBrowserView();
const systemData = device.getSystemView();
console.log(browserData, systemData);
}
如果您不需要全部引入,您可以选择使用部分API:
import { getBrowserView, getSystemView } from 'epackage-device-detect';
// ...同上
函数
函数名 | 说明 | 备注 |
---|---|---|
getBrowserView | 获取浏览器信息 | - |
getSystemView | 获取系统信息 | - |
getBatteryView | 获取电池状态信息 | |
getConnectionView | 获取网络信息 | |
getDeviceView | 获取设备信息 | - |
getEngineView | 获取渲染器信息 | - |
方法
浏览器检测
方法名 | 说明 | 返回值 | 备注 |
---|---|---|---|
isEdge | 返回 true 时为 Edge 或 Edge Chromium
|
boolean | - |
isOpera | 返回 true 时为 Opera
|
boolean | - |
isSafari | 返回 true 时为 Safari
|
boolean | - |
isChrome | 返回 true 时为 Chrome
|
boolean | - |
isFirefox | 返回 true 时为 Firefox
|
boolean | - |
isIES | 返回 true 时为 Internet Explorer
|
boolean | - |
isQQ | 返回 true 时为 QQ浏览器
|
boolean | - |
isSogou | 返回 true 时为 搜狗浏览器
|
boolean | |
is2345 | 返回 true 时为 2345浏览器
|
boolean | - |
is360 | 返回 true 时为 360浏览器
|
boolean | - |
isYandex | 返回 true 时为 Yandex浏览器
|
boolean | - |
isChromium | 返回 true 时为 Chromium浏览器
|
boolean | - |
isSamsungBrowser | 返回 true 时为 Samsung浏览器
|
boolean | - |
设备检测
方法名 | 说明 | 返回值 | 备注 |
---|---|---|---|
isMobile | 返回 true 时为 移动端
|
boolean | - |
isMobileOnly | 返回 true 时为 手机端 ,区别于isMobile,此方法将严格校验手机设备 |
boolean | - |
isAndroidPhone | 返回 true 时为 安卓系统手机端
|
boolean | - |
isAndroidTablet | 返回 true 时为 安卓系统平板设备
|
boolean | - |
isWindowPhone | 返回 true 时为 Windows系统手机端
|
boolean | - |
isWindowTablet | 返回 true 时为 Windows系统平板设备
|
boolean | - |
isIphone | 返回 true 时为 iphone
|
boolean | - |
isIpod | 返回 true 时为 ipod
|
boolean | - |
isIpad | 返回 true 时为 ipad
|
boolean | - |
isMacOS | 返回 true 时为 mac端
|
boolean | - |
isTablet | 返回 true 时为 平板设备
|
boolean | - |
isTV | 返回 true 时为 电视端
|
boolean | - |
isWearable | 返回 true 时为 穿戴设备
|
boolean | - |
isConsole | 返回 true 时为 接口管理设备
|
boolean | - |
isEmbedded | 返回 true 时为 嵌入式设备
|
boolean | - |
isBlackberryPhone | 返回 true 时为 黑莓手机端
|
boolean | - |
isBlackberryTablet | 返回 true 时为 黑莓平板电脑设备
|
boolean | - |
isDesktop | 返回 true 时为 台式机
|
boolean | - |
isFxos | 返回 true 时为 可扩展操作系统
|
boolean | |
isFxosPhone | 返回 true 时为 可扩展操作系统 手机端 |
boolean | |
isFxosTablet | 返回 true 时为 可扩展操作系统 平板电脑设备 |
boolean | |
isBrowser | 返回 true 时为 浏览器 ,该方法已弃用 |
boolean |
系统检测
方法名 | 说明 | 返回值 | 备注 |
---|---|---|---|
isAndroid | 返回 true 时为 Android 系统
|
boolean | - |
isWindow | 返回 true 时为 Windows 系统
|
boolean | - |
isIos | 返回 true 时为 IOS 系统
|
boolean | - |
isMeego | 返回 true 时为 Meego 系统
|
boolean | - |
isBlackBerryOS | 返回 true 时为 BlackBerryOS 系统
|
boolean | - |
isCentOS | 返回 true 时为 CentOS 系统
|
boolean | - |
isFirefoxOS | 返回 true 时为 FirefoxOS 系统
|
boolean | - |
isHarmonyOS | 返回 true 时为 HarmonyOS 系统
|
boolean | - |
isLinux | 返回 true 时为 Linux 系统
|
boolean | - |
isMacOS | 返回 true 时为 MacOS 系统
|
boolean | - |
isMinix | 返回 true 时为 Minix 系统
|
boolean | - |
isNintendoOS | 返回 true 时为 NintendoOS 系统
|
boolean | - |
isPlayStation | 返回 true 时为 PlayStation 系统
|
boolean | - |
isUbuntu | 返回 true 时为 Ubuntu 系统
|
boolean | - |
isUnix | 返回 true 时为 Unix 系统
|
boolean | - |
isWebOS | 返回 true 时为 WebOS 系统
|
boolean | - |
品牌检测
方法名 | 说明 | 返回值 | 备注 |
---|---|---|---|
isHTC | 返回 true 时为 HTC
|
boolean | - |
isLenovo | 返回 true 时为 联想
|
boolean | - |
isLG | 返回 true 时为 LG
|
boolean | - |
isMeizu | 返回 true 时为 魅族
|
boolean | - |
isMicrosoft | 返回 true 时为 微软
|
boolean | - |
isMotorola | 返回 true 时为 摩托罗拉
|
boolean | - |
isNintendo | 返回 true 时为 任天堂
|
boolean | - |
isNokia | 返回 true 时为 诺基亚
|
boolean | - |
isNvidia | 返回 true 时为 英伟达
|
boolean | - |
isOPPO | 返回 true 时为 Oppo
|
boolean | - |
isRealme | 返回 true 时为 真我
|
boolean | - |
isSamsung | 返回 true 时为 三星
|
boolean | - |
isTesla | 返回 true 时为 特斯拉
|
boolean | - |
isVivo | 返回 true 时为 Vivo
|
boolean | - |
isXiaomi | 返回 true 时为 小米
|
boolean | - |
isZTE | 返回 true 时为 中兴
|
boolean | - |
isOnePlus | 返回 true 时为 一加
|
boolean | - |
isSharp | 返回 true 时为 夏普
|
boolean | - |
isBlackberry | 返回 true 时为 黑莓
|
boolean | - |
isApple | 返回 true 时为 苹果
|
boolean | - |
isAmazon | 返回 true 时为 亚马逊
|
boolean | - |
isDell | 返回 true 时为 戴尔
|
boolean | - |
isHuawei | 返回 true 时为 华为
|
boolean | - |
isHP | 返回 true 时为 惠普
|
boolean | - |
以下列表中展示的为 epackage-device-detect 自定义属性,其余原生属性不在此处展示,您可在MDN Navigator文档中查看。
getBrowserView返回值
属性名 | 说明 | 返回值 | 备注 |
---|---|---|---|
isBrowser | 是否为浏览器,返回 true 时表示当前访问环境为浏览器,该属性已弃用 | boolean | |
browser | 返回 name 当前浏览器名称、 version 当前浏览器版本号、major 当前浏览器主版本 | object<name: string, version: string, major: string> | 'unknown' | - |
browser属性:
name:浏览器名称,例如:
2345Explorer, 360 Browser, Amaya, Android Browser, Arora, Avant, Avast, AVG, BIDUBrowser, Baidu, Basilisk, Blazer, Bolt, Brave, Bowser, Camino, Chimera, [Mobile] Chrome [Headless/WebView], Chromium, Cobalt, Comodo Dragon, Dillo ...version:浏览器版本号,例如:
5.1.21214major:浏览器主版本号,例如:
5查看详细文档,点击查看getBrowser()
getSystemView返回值
属性名 | 说明 | 返回值 | 备注 |
---|---|---|---|
system | 系统名称 | object<name: string, version: string> | - |
system属性:
name:系统名称,例如:
AIX, Amiga OS, Android[-x86], Arch, Bada, BeOS, BlackBerry, CentOS, Chromium OS,Contiki, Fedora, Firefox OS, FreeBSD, Debian, Deepin, DragonFly, elementary OS, Fuchsia, Gentoo, GhostBSD, GNU, Haiku, HarmonyOS, HP-UX, Hurd, iOS, Joli, KaiOS, Linpus, Linspire, Linux ...version:系统版本:例如:
12查看详细文档,点击查看getEngine()
getConnectionView返回值
属性名 | 说明 | 返回值 | 备注 |
---|---|---|---|
downlink | 网络速度 | object<speed: string, value: string, unit: string> | - |
downlink属性:
speed:当前网络速度,例如:
6.4M/svalue:当前网络速度值,例如:
6.4unit:当前网络速度单位,例如:
M/s
getDeviceView返回值
属性名 | 说明 | 返回值 | 备注 |
---|---|---|---|
device | 设备类型 | object<model: string, type: string, vendor:string> | - |
device属性:
model:设备型号,例如:
SM-X706Btype:设备类型,例如:
mobile, tablet, smarttv, console, wearable, embeddedvendor:设备商家,例如:
Acer, Alcatel, Amazon, Apple, Archos, ASUS, AT&T, BenQ, BlackBerry, Dell, Essential, Facebook, Fairphone, GeeksPhone, Google, HP, HTC, Huawei, Jolla, Kobo, Lenovo, LG, Meizu,Microsoft, Motorola, Nexian, Nintendo, Nokia, Nvidia, OnePlus, OPPO, Ouya, Palm ...
查看详细文档,点击查看getDevice()
getEngineView返回值
属性名 | 说明 | 返回值 | 备注 |
---|---|---|---|
engine | 渲染器类型 | object<name: string, version: string> | - |
engine属性:
name:渲染器名称,例如:
Amaya, Blink, EdgeHTML, Flow, Gecko, Goanna, iCab, KHTML, LibWeb, Links, Lynx, NetFront, NetSurf, Presto, Tasman, Trident, w3m, WebKitversion:渲染器版本:例如:
2.5.25查看详细文档,点击查看getEngine()
许可证
MIT