javascript - 如何获取用户的语言 - navigator.languages 不起作用
问题描述
我正在使用navigator.language || navigator.userLanguages
获取用户的语言。
在 chrome 上,IE 此代码返回cs-CZ
,但在 Firefox 中,它返回cs
但它是错误的。预期回报cs-CZ
不是简短的形式cs
。(捷克语)。
如何在 Firefox 中获得完整的语言形式?
那么,或者有一些 npm 库呢?
感谢您的任何帮助。
解决方案
你应该改用这个:
console.log(navigator.languages ? navigator.languages[0] : (navigator.language || navigator.userLanguage))
这是因为对于 Firefox,navigator.languages
返回一个字符串数组,代表首选语言,所以你最终会得到类似["en-US", "en"]
.
推荐阅读
- json - 给定一个 json 字符串,将嵌套的 json 字符串转换为键值对,键是元素层次结构的名称,并附加“_”
- r - 获取 data.table 中键的索引
- javascript - 如何在我的不和谐服务器上为每个提到的用户添加角色
- r - 保持 iframe 的模态在闪亮状态下打开 30 秒
- nestjs - 关于nestjs的环境变量配置
- sql - 在 datetime2 中更改格式
- python - 如何对整个 Pandas MultiIndex 执行字符串操作?
- javascript - 有没有办法查看 V8 生成的代码?
- c++ - 如何在不使用 c++ 中的函数的情况下制作十六进制到十进制转换器?
- c# - 通过按下按钮c#移动datagridview滚动条