You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Matthew Young <gi...@gmail.com> on 2008/05/03 01:59:46 UTC

Is there a setGatherAbbreviatedBrowserInfo(true) as appose to setGatherExtendedBrowserInfo(true)?

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.

Re: Is there a setGatherAbbreviatedBrowserInfo(true) as appose to setGatherExtendedBrowserInfo(true)?

Posted by Matthew Young <gi...@gmail.com>.
Thank you! I see how this work now.

On Sun, May 4, 2008 at 10:17 PM, Eelco Hillenius <ee...@gmail.com>
wrote:

> On Fri, May 2, 2008 at 4:59 PM, Matthew Young <gi...@gmail.com> 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
>

Re: Is there a setGatherAbbreviatedBrowserInfo(true) as appose to setGatherExtendedBrowserInfo(true)?

Posted by Eelco Hillenius <ee...@gmail.com>.
On Fri, May 2, 2008 at 4:59 PM, Matthew Young <gi...@gmail.com> 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