events - GWT WindowClosingHandler firing on Browser refresh too -
here facing issue code below wrote observe browser's close event create user logged out website.
but unfortunately event fires on refresh :(.
window.addwindowclosinghandler(new window.closinghandler() { public void onwindowclosing(window.closingevent closingevent) { closingevent.setmessage("do want close page?"); } }); yes, gone through gwt observe browser refresh in closehandler
but didn't find positive results there.
as per gwt window.closingevent class api:
fired before browser window closes or navigates different site. but still have hope can observe browser refresh.
can 1 give hint regarding this?
it imposible know if window.closingevent beingness called refresh or close browser. but, if problem observe if browser has been closed, can utilize session cookies.
here 1 utility class can help you. phone call lines below in onmoduleload test.
the test lines:
@override public void onmoduleload() { if (browserclosedetector.get().wasclosed()) { gwt.log("browser closed."); } else { gwt.log("refreshing or returning page."); } } the utility class:
import com.google.gwt.user.client.cookies; import com.google.gwt.user.client.window; public class browserclosedetector { private static final string cookie = "detector"; private static browserclosedetector instance; private browserclosedetector() { window.addwindowclosinghandler(new window.closinghandler() { public void onwindowclosing(window.closingevent closingevent) { cookies.setcookie(cookie, ""); } }); } public static browserclosedetector get() { homecoming (instance == null) ? instance = new browserclosedetector() : instance; } public boolean wasclosed() { homecoming cookies.getcookie(cookie) == null; } } events gwt user-interface browser
No comments:
Post a Comment