前两天公司在写 前端用户引导的时候用到了,这里记录下。
其实这是 Electronic Frontier Foundation 研究出来的技术,可以匿名识别 Web 浏览器,准确率高达94%。通过查询浏览器的代理字符串,屏幕色深,语言,插件安装与支持的 MIME 类型,时区偏移量和其他功能,如本地存储和会话存储等等,然后这些值通过散列函数传递产生指纹,不需要通过 Cookie 存储就可以识别浏览器。
<script type="text/javascript" src="${base}/js/fingerprint.js"></script>
//页面访问统计
var fingerprint = new Fingerprint().get();
1
var fingerprint = new Fingerprint().get();
如果你想使用 Canvas FingerPrinting,则如下调用:
1
var fingerprint = new Fingerprint({canvas: true}).get();
如果你想使用屏幕分辨率计算指纹,则需如下调用:
1
var fingerprint = new Fingerprint({screen_resolution: true}).get();
使用自定义的哈希函数
1
2
var my_hasher = new function(value, seed){ return value.length % seed; };
var fingerprint = new Fingerprint({hasher: my_hasher}).get();
或者直接传递方法:
1
2
var my_hasher = new function(value, seed){ return value.length % seed; };
var fingerprint = new Fingerprint(my_hasher).get();