Czy przeglądarki internetowe mają interfejs, aby uzyskać dostęp do dowolnego ustawień ustawień lokalnych jako ustawiony w systemie operacyjnym przez użytkownika?

Mogę wykryć, w jakim kraju użytkownik jest obecnie w z ich adresu IP lub za pomocą nowego interokacji API, ale piszę aplikację przeglądarki dla osób podróżujących, więc oczekuję ich aktualnej lokalizacji często nie być ich kraj domowy .

Czy jest jakiś sposób, aby określić, na co Country / Locale W przeglądarce / os?

Jeśli nie jest jakaś propozycja dodania właściwego wsparcia ustawiennego do JavaScript?

Czy są też jakieś sprytne obejście? (Na przykład wiem, że mogę uzyskać preferowany język użytkownika , ale istnieje wiele krajów , które używają tego samego języka i wielu użytkowników, którzy Zachowaj to ustawienie domyślne, a nie zmieniając go do ich zwykłego języka.)

4
hippietrail 6 sierpień 2012, 14:03

3 odpowiedzi

Najlepsza odpowiedź

Najlepsze otrzymasz, to języki:

  • Navigator.language (Netscape - Lokalizacja przeglądarki)
  • Nawigator
  • Navigator.SystemLanguage (tj. Specyficzny - system OS - zlokalizowany język)
  • Navigator.userlanguage.

Ze względu na obawy dotyczące bezpieczeństwa lub po prostu nie wdrożone, o czym prosiłeś, nie jest możliwe, natywnie. Możesz jednak użyć obiektu ActiveX dla użytkowników systemu Windows

Możesz wybrać preferowany język, kraj itp, a następnie użyj JavaScript, aby ustawić plik cookie, który zostanie wysłany na swój serwer w dowolnym momencie żądana strona

2
SReject 6 sierpień 2012, 10:47

Musiałbym bronić lub ponownie podać odpowiedzi Sreject i Codejacka, ponieważ język przeglądarki Ogólnie zawiera Country Country of OS jak w {{x0} } lub {x1}}.

Użyliśmy tego od lat, aby wstępnie wybrać kraj w formularzach i działa w wystarczającej ilości przypadków, aby być przydatnym.

Tak więc z podróżującymi szwajcarskimi użytkownikami użyjesz navigator.language.slice(-2) i uzyskać "CH", co jest ważną odpowiedzią na twoje pytanie.

5
Marc 10 czerwiec 2013, 08:27
var userLocale = navigator.language or

navigator.userLanguage;

edytuj Tylko w inny sposób jest API Geolokalizacja HTML5

http://html5demos.com/geo. http://dev.w3.org/geo/api/spec-source.html.

1
thecodejack 6 sierpień 2012, 10:31