javascript - How to reliably determine timezone -
javascript - How to reliably determine timezone -
i need reliably determine user's timezone in javascript. bulk of userbase on low bandwidth & old browsers have maintain backwards compatibility , maintain info transfer minimum. ideally fetch user's timezone @ start of session (i utilize cas login there no login page), send server i'll able store in database. have looked in jstimezonedetect library various geolocation apis (to retrieve location/timezone user's ip) each has drawbacks:
jstimezonedetect not big, i'd rather not include 5k of js code on pages (there no single login page!) geolocation apis (such ipinfodb) introduce dependency on external services, can slow, , not guarantee me resultswhat simplest way reliably , efficiently determine user's timezone, , send jsf app while using minimum bandwidth , browser's resources?
after reading comments ended next code:
<h:panelgroup layout="block" rendered="#{!applicationbean.timezoneset}"> <h:outputscript name="timezone.js" library="js"></h:outputscript> <h:form style="display:none;"> <p:inputtext value="#{applicationbean.currenttimezone}" widgetvar="wtz" style="display:none;"></p:inputtext> <p:remotecommand autorun="true" name="settz" onstart="var tzone=jstz.determine();wtz.getjq().val(tzone.name())" process="@form"></p:remotecommand> </h:form> </h:panelgroup>
backing bean:
public boolean istimezoneset() { homecoming getelvalue(el_timezone_flag, boolean.class); } public void settimezoneset(boolean val) { setelvalue(el_timezone_flag, val); } @transactional(propagation=propagation.requires_new) public void setcurrenttimezone(string val) { user _user = getcurrentuser(); _user.settimezone(val); _usersdao.merge(_user); settimezoneset(true); } @transactional(propagation=propagation.requires_new) public string getcurrenttimezone() { user _user = getcurrentuser(); homecoming _user.gettimezone(); }
where el_timezone_flag session-scoped el expression. approach above ensures have timezone set on user, 1 time per session, , loads additional js code 1 time per session well
javascript jsf timezone
Comments
Post a Comment