如何获取浏览器语言

3,600 阅读1分钟

通过下面的方法可以获取到语言,但是并非系统语言,而是浏览器和chrome中设置的语言var lang = navigator.language||navigator.userLanguage

拿chrome来说,command + , 打开设置,在设置中搜索中输入“语言”,点击语言展开你添加的语言.

image.png

此时通过window.navigator.language获取到的值为zh-CN, 通过window.navigator.languages获取到的值为["zh-CN", "en", "zh", "ja"]

仔细观察你会发现window.navigator.languages获取到的语言的顺序与设置中的语言的顺序一致,并且window.navigator.languages的第一个元素就是window.navigator.language的值。

为了验证上面的说法我尝试移动位置,来印证我的想法,发现果然如同我想的那样。

image.png

小结

之后我尝试了firefox和safari,发现firefox浏览器更chrome情况一样,而Safari可以正确的获取到;所以通过window.navigator.language不能准确的获取到系统语言。 截止到文章结束,未找到合适的方法来获取系统语言。

我的环境

系统: macOs