分析变量
webAudio(getAudioFingerprint)
指纹随 浏览器内核 变化。
cookiesEnabled——是否启用了cookie
指纹随 浏览器设置 变化。
实则是设置cookie后尝试取得刚刚设置的cookie,如果能取到说明cookie功能被启用了。可以作为保守策略使用,因为它不会常常变动并且只有少数用户会改动它。也正因此,它的熵值并不高。
colorGamut——检测显示设备支持的色域
指纹随 显示设备的硬件参数 变化。
利用媒体查询中的color-gamut来判断色域支持情况。脚本会依次利用’rec2020’, ‘p3’, 'srgb’作为参数创建matchMedia实例,并使用实例方法matches来判断显示设备是否支持这个色域。显示器支持的最高色域会作为色域指纹。
对于只有一台显示设备的用户来说,这个值不太会发生变化,但是对于多个显示器的用户来说,当页面处于两个显示器上时,色域指纹可能是不同的。
invertedColors——检测设备是否开启了颜色反相
指纹随 操作系统设置 变化。
这是通过媒体查询invertedColors检测的,然而目前只有Safari一家支持这个媒体查询,也就是说其他浏览器的颜色反相指纹都是undefined。并且颜色反相主要是为了方便残疾人的,大多数用户不会开它。所以这一项也是 十分保守 的。
forcedColors——检测设备是否开启了强制颜色
排除掉这个指纹,因为不清楚这个设置的含义。详情参见。
monochrome——像素位数
指纹随 显示设备的硬件参数 变化。
但是如果显示设备不是单色设备的话,这个指纹的值是0。它和色彩滤镜是不同的,它查询的是设备属性,也就是说即使我把mac设置成单色显示,这个值仍然是0。可能如果我找个黑白设备来做实验的话它的值会是1。