它是什么
浏览器会把你偏好的语言宣布三次:每个请求上的 Accept-Language 请求头、给脚本看的 navigator.language / navigator.languages,以及 Intl 格式化日期和数字时隐含使用的区域。
网站怎么读
navigator.language // "zh-CN"
navigator.languages // ["zh-CN", "zh", "en"]
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Intl.DateTimeFormat().resolvedOptions().locale // "zh-CN"请求头按偏好排序并带权重;navigator.languages 携带同一份列表;Intl.DateTimeFormat().resolvedOptions().locale 则暴露引擎实际选中的默认区域。
为什么它能认出你
语言列表是件小事,却很个人——确切的集合与顺序(zh-CN、zh、en-US、en)能把访客缩到出乎意料的小范围,而且它跨站点、跨会话保持不变。
风控怎么用它
首先三份副本互相比对:请求头说一套、navigator 说另一套,只会发生在被修改过的浏览器里。然后列表与 IP 比对:德国住宅 IP 上一个只有越南语的浏览器不是不可能,但要扣分。
常见翻车点
用扩展改了 navigator.language,而 Accept-Language 请求头仍带着真实列表;为代理所在国设了时区,语言却还是宿主机的;一份该国没人会有的语言列表。
Mango 正在接受候补登记。以下介绍首发能力,客户端将在发放邀请后开放使用。
Mango Browser 如何处理
自定义默认跟随出口 IP(如新加坡代理对应 en-SG)或固定列表;请求头、navigator 与 Intl 一并设置。
检测你的值
跳转到你的检测结果中的这一项。