如何检测用户的语言(简单方法)

时间:2011-12-22 09:30:50

标签: javascript jquery

  

可能重复:
  JavaScript for detecting browser language preference

我尝试使用以下js代码来检测用户语言,但每种方法都会生成undefined。我的用户以两种语言使用该系统EN& FA

我可以通过javascript或jQuery检测用户语言吗?如果是,怎么样?

演示:http://jsfiddle.net/AqXsp/1/

$('input').live('keyup', function(){
    alert(navigator.userLanguage); // Output this is "undefined"
    alert(navigator.systemLanguage); // Output this is "undefined"
    alert(navigator.browserLanguage); // Output this is "undefined"
})

1 个答案:

答案 0 :(得分:6)

answer @Pekka pointed to可能是你最好的选择。考虑到JavaScript本身没有这样的功能,它实际上是一个优雅的解决方案。

该解决方案的作者提供了一个非常明确的例子:

var language;
$.ajax({ 
    url: "http://ajaxhttpheaders.appspot.com", 
    dataType: 'jsonp', 
    success: function(headers) {
        language = headers['Accept-Language'];
        nowDoSomethingWithIt(language);
    }
});

当然,您可以将language设置为某个默认值。结果是一个未解析的字符串,因此nowDoSomethingWithIt()中需要更多的逻辑。

看看这个有效的演示:http://jsfiddle.net/seYLA/