The*_*eek 38 javascript firefox culture internet-explorer google-chrome
有谁知道如何使用javascript从Firefox和谷歌Chrome获取浏览器文化?注意:这是一个asp.net 3.5 Web应用程序.
要求是尝试根据浏览器文化设置应用程序的显示文化.我发现其他浏览器的信息很少,但它们似乎不起作用.
我可以使用以下代码片段在IE中获取它:
var browserCulture = this.clientInformation.browserLanguage;
Run Code Online (Sandbox Code Playgroud)
任何信息都会很棒!
bob*_*nce 70
navigator对象上存在以下属性(clientInformation在IE上也可以知道,但没有理由使用该名称):
language (非IE,浏览器安装语言)browserLanguage (IE,浏览器安装语言)userLanguage (IE,用户级OS范围的语言设置)systemLanguage (IE,OS安装语言)但!你永远不应该使用任何这些属性!在许多情况下,它们将是错误的语言.
它们都没有反映用户在浏览器的"首选语言"UI中实际配置的语言设置,用户很难无法更改.如果没有额外的简单手动方式来切换语言,您将会因使用这些值而感到非常沮丧.
您应该嗅探的正确位置,以确定默认情况下使用的语言(由普通浏览器UI配置)是Accept-Language在HTTP请求中传递给您的服务器的标头.这是您可以选择的首选语言的排名列表,如果您使用它,它就是ASP.NET用于猜测自动客户端文化的内容.
不幸的是,这个属性不能从JavaScript获得!
您通常使用服务器端来解析Accept-Language标头并选择一种适当的语言来使用它.在ASP.NET中,您可以从HttpRequest.UserLanguages获取预先排序的列表,然后选择您喜欢的第一个.
然后,您将该语言名称吐出到<script>元素中,以将语言信息传递给客户端.
Sol*_*oub 12
试试这个:
var l_lang;
if (navigator.userLanguage) // Explorer
l_lang = navigator.userLanguage;
else if (navigator.language) // FF
l_lang = navigator.language;
else
l_lang = "en";
Run Code Online (Sandbox Code Playgroud)
资料来源:http://forums.digitalpoint.com/showthread.php?t = 631706
navigator.languages是一个数组,按顺序包含所有选定的语言.仅适用于Chrome和Firefox.
它不一样,navigator.language并且我的意思是navigator.language不一定匹配navigator.languages[0].
只是为了清楚.
| 归档时间: |
|
| 查看次数: |
62333 次 |
| 最近记录: |