Nevermind, worked around it by making a different popup on
logout....it's still a bug though.

On Nov 5, 12:35 pm, Andy_W <[email protected]> wrote:
> Sorry that would be $wnd.location as in the code...
>
> I am at a loss as to how to fix this!
>
> On Nov 4, 10:53 am, Andy_W <[email protected]> wrote:
>
> > Hi,
>
> > I have the following code to prompt the user that if they navigate
> > away "bad stuff" could happen:
>
> >         /**
> >          * Adds a handler to show warning when page is being closed.
> >          */
> >         private void addCloseHandler() {
> >                 Window.addWindowClosingHandler(new Window.ClosingHandler() {
>
> >                         public void onWindowClosing(ClosingEvent event) {
> >                                 event.setMessage("Bad Stuff might happen");
> >                         }
> >                 });
>
> >                 Window.addCloseHandler(new CloseHandler<Window>() {
>
> >                         public void onClose(CloseEvent<Window> event) {
> > //Cleanup
> >                         }
> >                 });
> >         }
>
> > If I manually type a new URL into IE6/7/8 such aswww.google.com, the
> > prompt appears, and if the user clicks cancel, the redirect does not
> > occur as expected.
>
> > However, I have a logout button that logs the user out, and then does
> > a simple $wnd.location="some url". When this is pressed, the popup
> > appears as before and warns the user, but regardless of whether the
> > user clicks ok or cancel, they are always logged out and redirected.
> > This does not happen in Chrome or Firefox which work exactly as
> > expected (surprise!).
>
> > The code for this is below:
>
> >         public static void doLogout() {
> >                 RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,
> > GwtUtils.getServerUrl()
> >                                 + "/mywebsite?action=doLogout");
> >                 try {
>
> >                         rb.sendRequest("", new RequestCallback() {
> >                                 public void onError(Request request, 
> > Throwable exception) {
>
> >                                         //do something
> >                                 }
>
> >                                 public void onResponseReceived(Request 
> > request, Response response)
> > {
> >                                         GwtUtils.redirect(getLogoutUrl());
> >                                 }
>
> >                         });
> >                 } catch (RequestException e) {
> >                         DebugUtils.addDebugMessage("Exception logging out", 
> > e);
> >                         GwtUtils.redirect(getLogoutUrl());
> >                 }
>
> >         }
>
> >         And in my GetUtils class I have the following Native method:
>
> >         public static native void redirect(String url)/*-{
> >                 $wnd.location = url;
> >         }-*/;

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to