JavaScript を使用してブラウザの言語設定を検出すると、特に Internet Explorer と Firefox で構成された設定の場合に課題が生じます。 Chrome や Safari などのブラウザには、言語情報へのアクセスを提供する navigator. language や navigator.userLanguage などのプロパティがありますが、これらのプロパティは、特定のブラウザ メニューで設定された環境設定を反映できないことがよくあります。
主な問題は、ブラウザの設定が、JavaScript を通じてアクセスできる navigator. language プロパティに直接影響しないことです。代わりに、HTTP Accept-Language ヘッダーに影響を与えます。残念ながら、このヘッダーは JavaScript では使用できないため、プログラマーは困惑しています。
この制限を回避するには、Google App Engine スクリプト (http:/) を使用した回避策が必要です。 /ajaxhttpheaders.appspot.com) が考案されました。このスクリプトは、JSONP 経由で HTTP リクエスト ヘッダーを取得し、Accept-Language ヘッダー値を返します。
// jQuery example $.ajax({ url: "http://ajaxhttpheaders.appspot.com", dataType: 'jsonp', success: function(headers) { language = headers['Accept-Language']; nowDoSomethingWithIt(language); } });
便宜上、ラップする jQuery プラグインこの機能は GitHub で利用できます。 https://github.com/dansingerman/jQuery-Browser-Language
次のコードは、AppEngine で実行されるコア ロジックです:
class MainPage(webapp.RequestHandler): def get(self): headers = self.request.headers callback = self.request.get('callback')
以上がJavaScript はどのようにしてユーザーのブラウザ言語設定を正確に検出できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。