我尝试使用以下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"
})
答案 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/