2.0.1 • Published 2 years ago

epackage-device-detect v2.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

环境检测工具 V2

Npm package version Npm package monthly downloads made-for-VSCode saythanks

检测用户当前使用的设备、系统等硬件环境。

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 时为 EdgeEdge Chromiumboolean-
isOpera返回 true 时为 Operaboolean-
isSafari返回 true 时为 Safariboolean-
isChrome返回 true 时为 Chromeboolean-
isFirefox返回 true 时为 Firefoxboolean-
isIES返回 true 时为 Internet Explorerboolean-
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 时为 iphoneboolean-
isIpod返回 true 时为 ipodboolean-
isIpad返回 true 时为 ipadboolean-
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 时为 HTCboolean-
isLenovo返回 true 时为 联想boolean-
isLG返回 true 时为 LGboolean-
isMeizu返回 true 时为 魅族boolean-
isMicrosoft返回 true 时为 微软boolean-
isMotorola返回 true 时为 摩托罗拉boolean-
isNintendo返回 true 时为 任天堂boolean-
isNokia返回 true 时为 诺基亚boolean-
isNvidia返回 true 时为 英伟达boolean-
isOPPO返回 true 时为 Oppoboolean-
isRealme返回 true 时为 真我boolean-
isSamsung返回 true 时为 三星boolean-
isTesla返回 true 时为 特斯拉boolean-
isVivo返回 true 时为 Vivoboolean-
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.21214

major:浏览器主版本号,例如:

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/s

value:当前网络速度值,例如:

6.4

unit:当前网络速度单位,例如:

M/s

getDeviceView返回值

属性名说明返回值备注
device设备类型object<model: string, type: string, vendor:string>-

device属性:

model:设备型号,例如:

SM-X706B

type:设备类型,例如:

mobile, tablet, smarttv, console, wearable, embedded

vendor:设备商家,例如:

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, WebKit

version:渲染器版本:例如:

2.5.25

查看详细文档,点击查看getEngine()

许可证

MIT

1.2.0

2 years ago

1.1.1

2 years ago

1.0.2

2 years ago

1.1.0

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.1.2

2 years ago

0.5.0

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

0.6.0

2 years ago

0.0.0

2 years ago

1.0.3

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago