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

Kat*_*ntz 1 javascript jquery

可能重复:
用于检测浏览器语言首选项的JavaScript

我尝试使用以下js代码来检测用户语言,但每种方法都会导致undefined.我的用户在两种语言使用系统ENFA.

我可以通过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"
})
Run Code Online (Sandbox Code Playgroud)

PPv*_*PvG 6

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

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

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

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

看看这个工作演示:http://jsfiddle.net/seYLA/