ユーザーのロケール(その場所ではありません)を検出します。問題は、いずれの方法も信頼できるとは思われないということです。2012年にブラウザのユーザーのロケールを検出する最適な方法は何ですか?
は受け入れ言語ヘッダーを
賛否
- あなたはブラウザが何か他のものをデフォルトに変更された場合はtrueを、ロケールを明らかにすることができます値のリストを取得することを意図しています。
- IEで正確に見えますか?
- IEでの正確度は、デフォルトではWindowsのFFでは正確ですか? (すなわち、mozilla.orgから正しいバージョンをダウンロードしてください)
- Opera on Windowsの場合と同じですか?
短所
- サーバ側オーバーヘッド及びキャッシング(または余分XHR)との干渉。
- ローカル辞書をインストールして上部にドラッグしない限り、すべてのシステムで英語の "en-us"に設定されています。
- Safariから送信されませんか?
- SafariとChromeでデフォルトで間違っていると、http://mozilla.orgとhttp://opera.comが間違ったダウンロードをユーザーに表示し、自分自身の「en-us」バージョンもインストールされます。
結論
- すべてのブラウザは、デフォルトでは間違っていることになるので、OSX上で完全に信頼できません。しかし、WindowsではIEとFFでは正確でなければなりません。
window.navigator.language /ユーザーの言語
賛否
- 本の最良の部分は、それが素敵な軽量クライアント側のソリューションであるということです。
- IEで正確に見えますか?
- WindowsではFFで正確に見えますか?
短所
- 常に "EN-US" すべてのシステム上のSafariでデフォルトで。
- ローカル辞書をインストールして上部にドラッグしない限り、すべてのシステムで英語の "en-us"に設定されています。
- オペラには常に「en」だけです。さらに信頼性の低い受け入れ言語より
結論
- 。
IPジオロケーション
賛否
- 独立して、ブラウザとOSの言語設定の作品。
短所
- 独立して、ブラウザとOSの言語設定の作品。
- これは実際に動作するかどうか結論
サーバーのオーバーヘッドなしのIPジオロケーションのように正確でHTML5 Geolocationの
賛否一般
- 。
短所
- その場所へのあなたのアクセスを許可するユーザーが必要です。
- ブラウザのサポート(実際にサポートはかなり良いようです)。許可を求めるために持っ
結論
- は、一般的に契約ブレーカです。 IPジオロケーションと同じ結論。彼らの物理的な位置を検出することが容易になった一方でそれは今、ユーザーのロケールを検出するように思える
概要
は、これまで以上に困難です。大きな犯罪者はSafariであり、少なくともOSXのOS設定を反映する必要がありますが、Chromeはいずれの例も設定していません。人々が自分のローカル辞書をChromeにインストールしても、リストの先頭にドラッグすることは本当に疑問です。
MozillaとOperaが他のブラウザからダウンロードページに誤って届いてしまったと非難することはできません。しかし、おそらくAccept-Languageを見るのではなく、ダウンロードページを切り替えてジオロケーションを使用すると問題を軽減できます。
実際、IEがもはや支配的でなくなった今、ユーザーのロケールを検出するためにどのようなオプションが残されていますか?何か残っていますか?
2013年10月現在、Accept-LanguageヘッダーはモバイルSafariで動作するようです。 – nthonygreen