Hi Bruce,

On Mon, May 12, 2014 at 4:52 PM, Bruce Lombardi <[email protected]> wrote:

> This message  is related to an original thread "Link to Wicket page from
> Javascript" but the focus is changed so much  that I though a new title
> would be better.  In the earlier thread I asked about linking to a Wicket
> page, but the real need was for help in implementing a session timeout that
> would send the user to a timeout page after a period of inactivity and
> would
> reset whenever a user clicked any button on the page.
>
>
>
> Ernesto Reinaldo Barreiro sent me links(see below) to a working demo that
> did exactly what I required. I used  that code and everything seemed to
> work
> perfectly. However, I have since discovered that my timer does not seem to
> function correctly if the user goes to another tab. It seems like the timer
> stops timing down or slows way down until the user comes back to the
> original tab.
>
> Do you mean another browser tab?

>
>
> I checked Ernesto's demo. If I go to the demo  page and stay there it times
> out after roughly the defined 10 second timeout period,  but if I go to the
> demo page, then click on another tab, it eventually times out, but after
> more than 3 minutes. My code, however,  never seems to seem to timeout the
> page if I go to another tab.
>
> Does this happens in a all browsers? Or in particular one?

Mind that this is just a quick "something" I build to illustrate the
idea... So, it might not be bullet proof.


>
> I really need this to work to  fulfill a requirement and it is preventing
> the launch of our software.  It all works fine except if the user goes to a
> different tab.
>
>
>
> Ernesto, or anyone, do you know why this is happening. Is the ajax timer
> stopping when the tab is not selected? Why is the demo eventually timing
> out
> while application is not (can't see any real difference in the code)?
>

Without seeing your code or a quick-start app illustrating  the problem it
might be difficult to point out what's going on.

>
> Is there any way to get a better handle on this (e.g., firebug)? If the
> ajax
> timer is stopping, could something be done, perhaps using absolute elapsed
> time, to expire the session immediately if the user goes back to the tab?
> The latter is not ideal but might be acceptable.
>
>
>
> (Note: My session timeout in web.xml is 30 minutes, client timeout is 15
> minutes, but for testing I set it to 10 seconds).
>
>
>
>
>
> // Links
>
>
>
> Demo of Example
>
>
>
> http://107.170.4.97:9080/client-sign-out-demo/?0
>
>
>
>
>
> Code that sets up example
>
>
>
> https://github.com/reiern70/antilia-bits/blob/master/client-sign-out-paren
>
> t/client-sign-out-demo/src/main/java/com/antilia/HomePage.java
>
>
>
>
>
> Code that provides the implementation (We have this code in  package
>
> com.xyzco.web.docs.presentation.helpers.timeout)
>
>
>
>
>
> https://github.com/reiern70/antilia-bits/tree/master/client-sign-out-paren
>
> t/client-sign-out-demo/src/main/java/com/antilia
>
>
>
> Thanks,
>
> Bruce
>
>
>
>
>
>
>
> -----Original Message-----
>
> From: Bruce Lombardi [mailto:[email protected]]
>
> Sent: Monday, March 17, 2014 8:24 AM
>
> To: [email protected]
>
> Subject: Re: Link to Wicket page from Javascript
>
>
>
> Thanks, this is very helpful.
>
>
>
> Bruce
>
>
>
> Sent from my iPad
>
>
>
> > On Mar 17, 2014, at 4:52 AM, Ernesto Reinaldo Barreiro
>
> <[email protected]> wrote:
>
> >
>
> > You can see it at work here
>
> >
>
> > http://107.170.4.97:9080/client-sign-out-demo/
>
> >
>
> >
>
> > On Mon, Mar 17, 2014 at 9:18 AM, Ernesto Reinaldo Barreiro <
>
> > [email protected]> wrote:
>
> >
>
> >> Martin,
>
> >>
>
> >> What I mean is something that triggers the sign out before serve side
>
> >> session expires... and trigger this expire event.
>
> >>
>
> >>
>
> >> https://github.com/reiern70/antilia-bits/blob/master/client-sign-out-
>
> >> parent/client-sign-out/src/main/java/com/antilia/signout/InactivitySi
>
> >> gnOutPanel.java
>
> >>
>
> >> https://github.com/reiern70/antilia-bits/blob/master/client-sign-out-
>
> >> parent/client-sign-out/src/main/java/com/antilia/signout/InactivitySi
>
> >> gnOutPanel.js
>
> >>
>
> >> The above seem to work. You use it as in
>
> >>
>
> >>
>
> >> https://github.com/reiern70/antilia-bits/blob/master/client-sign-out-
>
> >> parent/client-sign-out-demo/src/main/java/com/antilia/HomePage.java
>
> >>
>
> >>
>
> >>
>
> >>
>
> >> On Mon, Mar 17, 2014 at 9:11 AM, Martin Grigorov
>
> < <mailto:[email protected]> [email protected]>wrote:
>
> >>
>
> >>> Hi,
>
> >>>
>
> >>> On Fri, Mar 14, 2014 at 9:25 PM, Ernesto Reinaldo Barreiro <
>
> >>> [email protected]> wrote:
>
> >>>
>
> >>>> Hi,
>
> >>>>
>
> >>>> I would implement this as..
>
> >>>>
>
> >>>> 1- A JS function that counts how much time has passed since last
>
> >>>> AJAX request. Once a certain threshold is passed an AJAX request is
>
> >>>> sent to
>
> >>> the
>
> >>>> page.
>
> >>>> 2- An AbstractAjaxBehavior that is added to the page. I would use
>
> >>>> it as context for AJAX request on 1).
>
> >>>
>
> >>> at that time the session should be already expired.
>
> >>>
>
> >>> But this can be used to do what is needed here - Wicket will
>
> >>> redirect to the configured PageExpiredErrorPage.
>
> >>>
>
> >>>
>
> >>>> 3- On the respond of AJAXBehavior you redirect to
>
> >>>> SessionTimeoutPage
>
> >>> and
>
> >>>> invalidate the session.
>
> >>>>
>
> >>>>
>
> >>>>
>
> >>>> On Fri, Mar 14, 2014 at 8:07 PM, Bruce Lombardi
>
> >>>> <[email protected]>
>
> >>>> wrote:
>
> >>>>
>
> >>>>> Hi,
>
> >>>>>
>
> >>>>>
>
> >>>>>
>
> >>>>> An earlier question I asked about session timeouts was answered by
>
> >>> Martin
>
> >>>>> Grigorov. I am implementing his suggestion and have a JQuery
>
> >>>>> script
>
> >>> what
>
> >>>>> sets a timer that times out after a certain period of inactivity.
>
> >>>>> The timeout triggers a function call.  Currently,  for a quick
>
> >>>>> test,  I
>
> >>> have
>
> >>>>> that function use location.href to go to an arbitrary static web
>
> >>>>> page
>
> >>>> like
>
> >>>>> this:
>
> >>>>>
>
> >>>>>
>
> >>>>>
>
> >>>>> function whenUserIdle(){
>
> >>>>>
>
> >>>>>                location.href =
>
> >>>>> 'http://www.natural-environment.com';
>
> >>>>>
>
> >>>>> }
>
> >>>>>
>
> >>>>>
>
> >>>>>
>
> >>>>> That works fine, but now I need to make it go to a Wicket page in
>
> >>>>> my application, similar to what would happen if I had an anchor
>
> >>>>> tag
>
> like:
>
> >>>>>
>
> >>>>>
>
> >>>>>
>
> >>>>> <a wicket:id=" SessionTimeoutPage" href="#">SessionTimeoutPage</a>
>
> >>>>>
>
> >>>>>
>
> >>>>>
>
> >>>>> But I can't figure out how to do this in the javascript function.
>
> >>>>> Can anyone tell me how to call the Wicket page from the javascript
>
> >>>>> function?
>
> >>>
>
> >>> You can use <script wicket:id="expirationUrl"></script> and a
>
> >>> Label("expirationUrl", "window.expirePageUrl ='" +
>
> >>> urlFor(SessionTimeoutPage.class) + "';"); Then use it with:
>
> >>> location.href = window.expirePageUrl';
>
> >>>
>
> >>>
>
> >>>>>
>
> >>>>>
>
> >>>>>
>
> >>>>> Thanks,
>
> >>>>>
>
> >>>>>
>
> >>>>>
>
> >>>>> Bruce
>
> >>>>
>
> >>>>
>
> >>>> --
>
> >>>> Regards - Ernesto Reinaldo Barreiro
>
> >>
>
> >>
>
> >>
>
> >> --
>
> >> Regards - Ernesto Reinaldo Barreiro
>
> >
>
> >
>
> >
>
> > --
>
> > Regards - Ernesto Reinaldo Barreiro
>
>
>
>


-- 
Regards - Ernesto Reinaldo Barreiro

Reply via email to