是否有可能来确定用户语言环境的国家** **在从JavaScript的浏览器中的OS设定?(Is i

2019-06-26 19:04发布

做web浏览器都为用户在操作系统中设置的接口访问任何的区域设置?

我可以检测用户是哪个国家目前正在从他们的IP地址,或者使用新的地理位置API,但我正在写旅客浏览应用程序,所以我希望自己的当前位置往往不是他们的祖国

有没有什么办法,以确定哪些国家/区域设置的浏览器/操作系统设置为?

如果不是有没有适当的语言环境支持添加到JavaScript的任何建议?

此外还有什么聪明的解决方法? (例如,我知道我能得到用户的首选浏览的语言 ,但有很多它使用谁请设定为默认值,而不是将其改为自己常用的语言的用户相同的语言和丰富的国家 。)

Answer 1:

你会得到最好的是语言:

  • navigator.language(网景 - 浏览器本地化)
  • navigator.browserLanguage(IE-具体 - 浏览器本地化语言)
  • navigator.systemLanguage(IE-具体 - Windows操作系统 - 本地化语言)
  • navigator.userLanguage

由于无论是安全问题,或只是没有实现,你所要求的是不可能的,本身。 但是,您可以使用ActiveX对象为您的Windows用户

你可以有一个用户选择他们perfered语言,国家等则使用JavaScript来设置cookie,这将被发送到你的服务器随时一个页面被请求



Answer 2:

我要捍卫或重新状态SReject和CodeJack的答案,因为浏览器语言确实一般包含操作系统的国家语言环境中的"en-US""de-CH"

我们已经使用了多年预先选择形式的国家,它在足够的情况下工作是有用的。

因此,与瑞士旅行,你的用户会使用navigator.language.slice(-2)并获得"CH"这是一个有效的回答你的问题。



Answer 3:

var userLocale = navigator.language or

navigator.userLanguage;

编辑只有另一种方式是HTML5的地理位置API

http://html5demos.com/geo http://dev.w3.org/geo/api/spec-source.html



文章来源: Is it possible to determine the user locale's **country** as set in the OS from the browser in JavaScript?