2011-12-22 2 views
1

Можно создать дубликат:
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" 
}) 
+0

Это не является тривиальным и может понадобиться на стороне сервера сценариев - см ссылку выше –

+0

Нет, я читал, но это не помогает мне. –

+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/

+1

Этот адрес: http://ajaxhttpheaders.appspot.com для моих пользователей есть ошибка "403. Это ошибка. У вашего клиента нет разрешения на получение URL/с этого сервера. Вы получаете доступ к этой странице из запрещенной страны. Это все, что мы знаем." Как это исправить? –

+0

Я не знаю, в какой стране вы находитесь, но он размещен в Google App Engine. Прекрасно работает здесь, в Нидерландах. В любом случае, если вы прочитали ранее упомянутый ответ, как вы говорите, вы знаете, что это просто скрипт Python, который вы можете запускать на своем собственном сервере, если это необходимо. Итак, еще раз: прочитайте предыдущий ответ: http://stackoverflow.com/a/3335420/990877 – PPvG

+0

Где скрипт Python для загрузки и загрузки его на сервер? –

Смежные вопросы