For example current page is www.google.com. But I typed a different website address in address bar and clicked. This site has fully GWT code.
But I like to back to t
try this it will work
Event.addNativePreviewHandler(new Event.NativePreviewHandler() {
@Override
public void onPreviewNativeEvent(final NativePreviewEvent event) {
if (event.getTypeInt() == Event.ONKEYDOWN) {
if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_BACKSPACE) {
Element element = Element.as(event.getNativeEvent().getEventTarget());
String tagName = element.getTagName();
System.out.println(tagName);
// Add checks for other input controls
if (!tagName.equalsIgnoreCase("INPUT")
&& !tagName.equalsIgnoreCase("TEXTAREA")) {
boolean result = Window.confirm("Are you sure?");
if (!result) {
event.cancel();
}
}
}
}
}
});
+1 to Igor and Alex. Here's some code you can use, if you want to use the ClosingHandler:
Window.addWindowClosingHandler(new Window.ClosingHandler() {
@Override
public void onWindowClosing(final ClosingEvent event) {
event.setMessage("Don't you think my site is awesome?");
}
});
Some info from the Javadoc of ClosingHandler.onWindowClosing():
/* Fired just before the browser window closes or navigates to a different
* site. No user-interface may be displayed during shutdown. */
you also can use this native code
public native void call()/*-{
$wnd.onkeydown = GetChar;
function GetChar (event)
{
var key = event.keyCode;
var bb = event.target.nodeName;
if(key==8 && bb=="BODY")//checking keyCode of key for backspace
{
var x= window.confirm("Are you sureyou want to leave the page");
if (x==true)
{
window.history.back();
}
else if(x==false)
{
return false;
}
}
}
}-*/;
You can implement the HistoryListener interface: your class's method onHistoryChanged
will be called (with a String
token) on every click to the back and forward buttons. You can then interact with the History class, which has e.g. a back()
static method to "go back". However, I'm not entirely sure if it goes back all the way to before GWT started (but it's sure worth trying;-).
There's Window.ClosingEvent:
Fired just before the browser window closes or navigates to a different site.
The other option is History.addValueChangeHandler, which listens for changes in the browser's history stack (see the docs for more info).