Мне нужно достоверно определить часовой пояс пользователя в JavaScript. Большая часть пользовательской базы будет на низкой пропускной способности & старых браузерах, поэтому я должен поддерживать обратную совместимость и поддерживать передачу данных до минимума. В идеале я хотел бы получить часовую зону пользователя только в начале сеанса (я использую CAS для входа, так что нет страницы входа), а затем отправьте ее обратно на сервер, где я смогу сохранить его в базе данных. Я посмотрел в библиотеке jsTimezoneDetect, а также различные геолокации (API для получения местоположения/часового пояса по IP пользователя), но каждый из них имеет свои недостатки:Как надежно определить часовой пояс
- jsTimezoneDetect не большой, но я предпочел бы не включать 5K дополнительных JS код на всех своих страницах (нет одной страницы Войти!)
- геолокации API (например, IPInfoDB) ввести зависимость от внешних услуг, может быть медленным, и не всегда гарантирует мне результаты
Что такое простейший способ надежного и эффективного определения часового пояса пользователя и отправки его обратно в мое приложение JSF при использовании минимальной полосы пропускания и br Ресурсы owser?
Re 1: Обратите внимание, что он будет кэшироваться, поэтому нет сети накладные расходы для клиента или сервера для его включения на каждую страницу, только для JS-клиента для клиента. –
Я не вижу, как вы будете делать лучше, чем jsTimezoneDetect, не жертвуя точностью. – Pointy
Это не проблема JSF. Это просто проблема JS. JSF находится в контексте этого вопроса «просто» генератор кода HTML/CSS/JS. У вас все еще была бы такая же проблема при использовании другого языка на стороне сервера или фреймворка, генерирующего такой же HTML/CSS/JS, как Spring MVC, PHP, ASP.NET-MVC и т. Д. – BalusC