Web ブラウザでのユーザーの優先言語の検出は、ユーザー エクスペリエンスをパーソナライズするために不可欠です。ただし、ブラウザごとに言語設定のメカニズムが異なります。
Internet Explorer では、優先言語は [ツール] > [ツール] で設定できます。インターネット オプション >一般 >言語。ただし、JavaScript を使用してこの設定にアクセスすることは依然として課題です。
同様に、Firefox では、優先言語は [ツール] > [ツール] で設定されます。オプション >内容>言語。 navigator. language は [スタート] > [スタート] で設定された言語を取得します。コントロールパネル >地域と言語のオプション >地域オプションでは、ブラウザ固有の設定を検出できません。
この問題を調査した結果、ブラウザの優先言語設定は JavaScript の navigator. language プロパティに影響を与えないことが判明しました。代わりに、HTTP の「Accept-Language」ヘッダーを変更します。ただし、JavaScript にはこのヘッダーへの直接アクセスがありません。
この課題に対処するための回避策が開発されました。 http://ajaxhttpheaders.appspot.com にある Google App Engine スクリプトは、JSONP を使用して HTTP リクエスト ヘッダーを返します。このスクリプトを利用すると、次の jQuery コードを使用して優先言語を取得できます:
$.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
詳細については、この回避策に使用される App Engine コードを次の場所で入手できます。 https://github.com/dansingerman/app-engine-headers.
以上がJavaScript を使用してユーザーのブラウザ言語設定を確実に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。