4

Web ブラウザーには、ユーザーがオペレーティング システムで設定したロケール設定にアクセスするためのインターフェイスがありますか?

IP アドレスや新しい地理位置情報 API を使用して、ユーザーが現在どの国にいるのかを検出できますが、旅行者向けのブラウザー アプリを作成しているため、現在の場所が母国ではないことが多いと予想されます。

ブラウザ/OS が設定されている国/ロケールを特定する方法はありますか?

そうでない場合、JavaScript に適切なロケール サポートを追加する提案はありますか?

また、巧妙な回避策はありますか?(たとえば、ユーザーの好みのブラウジング言語を取得できることはわかっていますが、同じ言語を使用するがたくさんあり、通常の言語に変更するのではなく、この設定をデフォルトのままにしているユーザーがたくさんいます。)

4

3 に答える 3

5

SReject と CodeJack の回答を擁護または再表明する必要があります。これは、ブラウザー言語に一般に、またはのようにOS の国のロケールが含まれているためです。"en-US""de-CH"

フォームで国を事前に選択するためにこれを何年も使用してきましたが、十分な場合に役立ちます。

したがって、スイスを旅行するユーザーの場合、質問に対する有効な回答を使用navigator.language.slice(-2)して取得します。"CH"

于 2013-06-10T08:27:17.640 に答える
2

あなたが得る最高のものは言語です:

  • navigator.language(Netscape-ブラウザのローカリゼーション)
  • navigator.browserLanguage(IE固有-ブラウザのローカライズされた言語)
  • navigator.systemLanguage(IE固有-Windows OS-ローカライズされた言語)
  • navigator.userLanguage

セキュリティ上の懸念があるか、実装されていないため、要求したことはネイティブでは不可能です。ただし、WindowsユーザーにはActiveXオブジェクトを使用できます

ユーザーに自分の好みの言語や国などを選択させ、JavaScriptを使用してCookieを設定することができます。このCookieは、ページが要求されるたびにサーバーに送信されます。

于 2012-08-06T10:14:55.593 に答える
1
var userLocale = navigator.language or

navigator.userLanguage;

他の方法でのみ編集 するのは、HTML5のgeoLocationAPIです。

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

于 2012-08-06T10:15:05.137 に答える