如题,近期需求对匿名用户进行追踪,需要对身份进行唯一标记,前天发帖询问短哈希后楼内老哥提到可以使用 canvas 指纹代表用户。我搜索相关内容后如同打开了新世界的大门,头一次知道还有这种标记用户身份的方法。进而搜索得知音频设备也可以用来生成指纹,但是百度博客相关文章提到音频可能导致指纹不稳定(同设备多次执行结果不同),原文地址:https://blog.csdn.net/cen_cs/article/details/106341724
我复现过程中未遇到此问题,想请问有无论坛老哥遇到过类似问题,或者这个不稳定问题纯粹是写这篇博客的老哥乱扯的?
======
另外问一下有关 js 写法,查到的音频指纹生成代码的伪代码类似下述
var AudioCOntext= ... // 链接音频设备 var cOntext= new AudioContext(...) // 生成一段音频 ... // 配置音频内容 context.Oncomplete= function (event) { ... console.log(fingerprint) // 在音频生成完毕后触发回调,计算并输出音频指纹 } 考虑到使用中为了便捷调用,理想的情况希望将整个功能写在同一个函数里,即
let get_audio_fingerprint = () => {...}; let device_fingerprint = get_canvas_fingerprint() + get_audio_fingerprint(); // 类似这种调用方法 但是如上述伪代码中指纹生成是在回调函数里完成的,应该怎么把这个回调函数的结果返回给外层呢?试了试 promise ,但是得到浏览器提示说内层不允许调用 promise
