2.0.1 • Published 12 months ago

epackage-device-detect v2.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
12 months 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

12 months ago

1.1.1

12 months ago

1.0.2

12 months ago

1.1.0

12 months ago

1.0.5

12 months ago

1.0.4

12 months ago

1.1.2

12 months ago

0.5.0

12 months ago

2.0.1

12 months ago

2.0.0

12 months ago

0.6.0

12 months ago

0.0.0

12 months ago

1.0.3

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago