一、fingerprintjs
Github 地址: github.com/fingerprint…
Github Star:19.5K
Npm 地址:www.npmjs.com/package/@fi…
Npm Weekly Downloads:273,745
是否可商用:4.0.0 以下版本可以,以上需要付费
4.0.0 版本以下声明
4.0.0 版本以上费用情况:
社区使用率:
1.1 fingerprintjs Demo
1.1.1 下载依赖
npm i @fingerprintjs/fingerprintjs
1.1.2 引入
import FingerprintJS from '@fingerprintjs/fingerprintjs'
1.1.3 使用 获得唯一标识
FingerprintJS.load()
.then(fp => fp.get())
.then(result => {
const visitorId = result.visitorId
console.log('visitorId: ', visitorId)
})
1.1.4 结果
由 Chrome 切换到 Edge 后 visitorId 发生改变
| fingerprintjs(Chrome) | 首次打开 | 刷新 | 关闭浏览器重新打开 | 无痕模式 | 切换网络环境 |
|---|---|---|---|---|---|
| visitorId | 1d0ee5d03c6995de2af8986c3919e64c | 1d0ee5d03c6995de2af8986c3919e64c | 1d0ee5d03c6995de2af8986c3919e64c | 1d0ee5d03c6995de2af8986c3919e64c | 1d0ee5d03c6995de2af8986c3919e64c |
1.2 结论
综合下来看,推荐使用,其Github star 和 npm 下载量趋势都是 Top 级的,可根据实际费用情况选择 商业版和免费版
二、clientjs
Github地址:github.com/jackspirou/…
Github Star : 1.8k
Npm地址:www.npmjs.com/package/cli…
Npm Weekly Downloads:18,883
是否可商用:Apache-2.0
2.1 clientjs Demo
2.1.1 下载依赖
npm i clientjs
2.1.2 引入
import { ClientJS } from 'clientjs'
2.1.3 使用 获得唯一标识
const client = new ClientJS()
const id = client.getFingerprint()
console.log('id: ', id)
2.1.4 结果
| clientjs(Chrome) | 首次打开 | 刷新 | 关闭浏览器重新打开 | 无痕模式 | 切换网络环境 |
|---|---|---|---|---|---|
| id | 544086402 | 544086402 | 544086402 | 544086402 | 544086402 |
2.2 结论
虽然初步测试功能没毛病,但在相同设备相同浏览器环境下,不知其还能否标识唯一用户,还是推荐 使用人数更多的 fingerprintjs