import * as Fingerprint2 from 'fingerprintjs2'
import * as UAParser from 'ua-parser-js'
function _getFingerprint () {
return new Promise((resolve, reject) => {
async function getHash () {
const options = {
excludes: {
plugins: true,
localStorage: true,
adBlock: true,
screenResolution: true,
availableScreenResolution: true,
enumerateDevices: true,
pixelRatio: true,
doNotTrack: true
},
preprocessor: (key, value) => {
if (key === 'userAgent') {
const parser = new UAParser(value)
// return customized user agent (without browser version)
return `${parser.getOS().name} :: ${parser.getBrowser().name} :: ${parser.getEngine().name}`
}
return value
}
}
try {
const components = await Fingerprint2.getPromise(options)
const values = components.map(component => component.value)
console.log('fingerprint hash components', components)
return String(Fingerprint2.x64hash128(values.join(''), 31))
} catch (e) {
reject(e)
}
}
if (window.requestIdleCallback) {
console.log('requestIdleCallback')
requestIdleCallback(async () => resolve(await getHash()))
} else {
console.log('setTimeout')
setTimeout(async () => resolve(await getHash()), 500)
}
})
}
Last active
July 10, 2024 09:59
-
-
Save zmts/b26ba9a61aa0b93126fc6979e7338ca3 to your computer and use it in GitHub Desktop.
Get browser fingerprint example (fingerprintjs2)
Looks weird, in my repo all fine 2.* version
In you case it could be related with old package-lock.json
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@zmts
I did it. But if you do that It insall an older version. Not the one that support that.
Check your package.json for sure you have version 2.somethig but if you run npm i fingerprintjs2 it will instal a version 1.8