我正在研究浏览器指纹。在应用的网络视图中工作的js将通过获取navigator.language.substr(0,2) == navigator.languages[0].substr(0,2)
的结果来检测用户是否对语言撒谎。
我们发现大约有3%的用户对语言(navigator.language.substr(0,2) != navigator.languages[0].substr(0,2)
撒谎。
通过useragent,我们发现这些移动设备是:
这些用户是否说谎?是否有任何设备或浏览器的原因会导致navigator.language.substr(0,2) != navigator.languages[0].substr(0,2)
?
答案 0 :(得分:1)
请参阅browser compatibility information。上面写着:
在Chrome中,
navigator.language
是浏览器用户界面的语言,并且不能保证等于navigator.languages[0]
。在Firefox中,
navigator.languages
属性的值取自intl.accept_languages
首选项。
它还说Safari完全兼容,但是也许不是旧版本吗?