当前位置:首页 > 编程笔记 > 正文
已解决

Vue项目中如何获取浏览器唯一标识Fingerprint2-浏览器指纹获取-demo

来自网友在路上 11068106提问 提问时间:2023-11-22 04:41:31阅读次数: 106

最佳答案 问答题库1068位专家为你答疑解惑


 Fingerprint

"fingerprintjs2": "^2.1.4", 

<template><n-card :segmented="{content: true,footer:true}" footer-style="padding:10px"><template #header>通过设备浏览器信息获取浏览器指纹的插件(官方宣称其识别精度达到99.5%)</template><div>指纹ID:<n-text type="info">{{compData.murmur}}</n-text></div></n-card>
</template>
<script lang="ts">
import {defineComponent, reactive, watch} from "vue"
import Fingerprint2 from "fingerprintjs2"
export default defineComponent({setup(){const compData = reactive({values:{},murmur:""})const createFingerprint=  ()=>{Fingerprint2.get((components) => {compData.values = components.map(component => component.value) // 配置的值的数组compData.murmur = Fingerprint2.x64hash128(compData.values.join(""), 31).toUpperCase() // 生成浏览器指纹})}if (window.requestIdleCallback) {requestIdleCallback(() => {createFingerprint()})} else {setTimeout(() => {createFingerprint()}, 600)}return {compData}}
})
</script>

@fingerprintjs/fingerprintjs 

"@fingerprintjs/fingerprintjs": "^3.4.1",

npm i @fingerprintjs/fingerprintjs

<script>
import FingerprintJS from '@fingerprintjs/fingerprintjs';let timer = null;
export default {name: 'App',components: {},data() {return {};},mounted() {this.getFingerprint();},methods: {// 浏览器指纹getFingerprint() {const fing = localStorage.getItem('fingerprint');console.log('getFlag-1');if (fing != null) return;console.log('getFlag-2');FingerprintJS.load().then((fp) => {// The FingerprintJS agent is ready.// Get a visitor identifier when you'd like to.fp.get().then((result) => {// This is the visitor identifier:const visitorId = result.visitorId;// console.log(visitorId, 8888);localStorage.setItem('fingerprint', visitorId);});});},},
};
</script>
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Vue项目中如何获取浏览器唯一标识Fingerprint2-浏览器指纹获取-demo":http://eshow365.cn/6-41790-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!