Когда navigator.language будет отличаться от navigator.languages ​​[0]? - PullRequest
0 голосов
/ 26 октября 2018

Я изучаю отпечаток браузера. Js, работающий в веб-приложении, определит, лгут ли пользователи на языке, получив результат navigator.language.substr(0,2) == navigator.languages[0].substr(0,2).

Мы обнаружили, что около 3% пользователей лгали на языке (navigator.language.substr(0,2) != navigator.languages[0].substr(0,2)). По идентификатору пользователя мы нашли следующие мобильные устройства:

  • некоторые мобильные телефоны HUAWEI (с Android 5.1, Android 6.0, Android 7.0, Android 8.0.0 ...)
  • немного iPhone (с ОС 9_1, ОС 4_3_2, ОС 5_1_1, ОС 5_0 ...)
  • ...

Эти пользователи лгали на языке? Есть причина, по которой устройство или браузер приведут к navigator.language.substr(0,2) != navigator.languages[0].substr(0,2)?

1 Ответ

0 голосов
/ 29 октября 2018

См. Информацию о совместимости браузера . Там написано:

В Chrome navigator.language является языком пользовательского интерфейса браузера и не гарантируется равным navigator.languages[0].

В Firefox значение свойства navigator.languages берется из предпочтения intl.accept_languages.

В нем также говорится, что Safari полностью совместим, но, возможно, более старые версии - нет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...