Thank you! I see how this work now.

On Sun, May 4, 2008 at 10:17 PM, Eelco Hillenius <[EMAIL PROTECTED]>
wrote:

> On Fri, May 2, 2008 at 4:59 PM, Matthew Young <[EMAIL PROTECTED]> wrote:
> > I only want to find out the user's timezone.
> >  setGatherExtendedBrowserInfo(true) redirect page take too long,
> sometimes
> it
> >  stays on the screen many seconds.
>
> You can often best do this in a custom way by either creating your own
> variant of WebRequestCycle#newClientInfo or e.g. by integrating it in a
> login form for instance (which of course only works for applications where
> users have to be logged in before they get to the point where your browser
> info matters).
>
> That roughly works like this:
>
> Java:
>
> pubic LoginForm(String id) {
>  super(id, new CompoundPropertyModel(new ClientPropertiesBean()));
>  add(new HiddenField("navigatorAppName"));
>  add(new HiddenField("navigatorAppVersion"));
>  add(new HiddenField("navigatorAppCodeName"));
>  add(new HiddenField("navigatorCookieEnabled"));
>  add(new HiddenField("navigatorJavaEnabled"));
>  add(new HiddenField("navigatorLanguage"));
>  add(new HiddenField("navigatorPlatform"));
>  add(new HiddenField("navigatorUserAgent"));
>  add(new HiddenField("screenWidth"));
>  add(new HiddenField("screenHeight"));
>  add(new HiddenField("screenColorDepth"));
>  add(new HiddenField("utcOffset"));
>  ...
>
> HTML template:
>
> <wicket:head><!-- if in a panel -->
>  <script language="javascript" src="/html/static/js/rollover.js"></script>
> </wicket:head>
> ...
> <form name="login" wicket:id="login" style="margin: 0px; "
> onsubmit="submitform(this)">
>  <span style="display: hidden;">
>   <input type="hidden" name="navigatorAppName"
> wicket:id="navigatorAppName"
> value="test" />
>   <input type="hidden" name="navigatorAppVersion"
> wicket:id="navigatorAppVersion" value="test" />
>   <input type="hidden" name="navigatorAppCodeName"
> wicket:id="navigatorAppCodeName" />
>   <input type="hidden" name="navigatorCookieEnabled"
> wicket:id="navigatorCookieEnabled" />
>   <input type="hidden" name="navigatorJavaEnabled"
> wicket:id="navigatorJavaEnabled" />
>   <input type="hidden" name="navigatorLanguage"
> wicket:id="navigatorLanguage" />
>   <input name="navigatorPlatform" type="hidden"
> wicket:id="navigatorPlatform" />
>   <input name="navigatorUserAgent"  type="hidden"
>  wicket:id="navigatorUserAgent" />
>   <input name="screenWidth" type="hidden" wicket:id="screenWidth" />
>   <input name="screenHeight" type="hidden" wicket:id="screenHeight" />
>   <input name="screenColorDepth" type="hidden"
> wicket:id="screenColorDepth"
> />
>   <input name="utcOffset" type="hidden" wicket:id="utcOffset" />
>  </span>
>  ...
> </form>
> ...
>
> Login.js:
>
> function submitform(form) {
>  form.navigatorAppName.value = window.navigator.appName;
>  form.navigatorAppVersion.value = window.navigator.appVersion;
>  form.navigatorAppCodeName.value = window.navigator.appCodeName;
>  var cookieEnabled = (window.navigator.cookieEnabled)? true : false;
>  if (typeof window.navigator.cookieEnabled == "undefined" &&
> !cookieEnabled)
> {
>   document.cookie = "wickettestcookie";
>   cookieEnabled = (document.cookie.indexOf("wickettestcookie")!=-1)? true
> :
> false;
>  }
>  form.navigatorCookieEnabled.value = cookieEnabled;
>  form.navigatorJavaEnabled.value =  window.navigator.javaEnabled();
>  form.navigatorLanguage.value = window.navigator.language ?
> window.navigator.language : window.navigator.userLanguage;
>  form.navigatorPlatform.value = window.navigator.platform;
>  form.navigatorUserAgent.value = window.navigator.userAgent;
>  if (window.screen) {
>  form.screenWidth.value = window.screen.width;
>  form.screenHeight.value = window.screen.height;
>  form.screenColorDepth.value = window.screen.colorDepth;
>  }
>  form.utcOffset.value = (new Date().getTimezoneOffset() / -60);
>  return true;
> }
>
>
> That should give you an idea :-)
>
> Eelco
>

Reply via email to