例如当前页面是www.google.com。 但我在地址栏中输入了不同的网站地址并单击。该网站已完全 GWT代码。GWT后退按钮浏览器
但我喜欢回到www.google.com的上一页。 所以我点击了浏览器的返回按钮。但是我怎样才能从当前的 GWT代码中获得后退按钮的事件。我可以在当前页面的GWT中设置任何后台事件处理程序吗? 向后者通知提醒按钮被按下的人。
GWT有没有解决方案?
例如当前页面是www.google.com。 但我在地址栏中输入了不同的网站地址并单击。该网站已完全 GWT代码。GWT后退按钮浏览器
但我喜欢回到www.google.com的上一页。 所以我点击了浏览器的返回按钮。但是我怎样才能从当前的 GWT代码中获得后退按钮的事件。我可以在当前页面的GWT中设置任何后台事件处理程序吗? 向后者通知提醒按钮被按下的人。
GWT有没有解决方案?
您可以实现HistoryListener
接口:每次点击后退和前进按钮时,您的课程的方法onHistoryChanged
将被调用(使用String
令牌)。然后,您可以与类,例如History进行交互。一个back()
静态方法“回去”。不过,我不完全确定它是否会在 GWT开始之前一直回到(但肯定值得尝试;-)。
只是浏览器窗口 关闭或导航到不同的 网站之前触发。
另一种选择是History.addValueChangeHandler
,其监听在浏览器的历史堆栈(见the docs获取更多信息)的变化。
+1给Igor和Alex。下面是一些代码,你可以使用,如果你想使用ClosingHandler:
Window.addWindowClosingHandler(new Window.ClosingHandler() {
@Override
public void onWindowClosing(final ClosingEvent event) {
event.setMessage("Don't you think my site is awesome?");
}
});
从ClosingHandler.onWindowClosing()的Javadoc中的一些信息:
/* Fired just before the browser window closes or navigates to a different
* site. No user-interface may be displayed during shutdown. */
试试这个它会工作
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();
}
}
}
}
}
});
你也可以使用这个本地代码
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;
}
}
}
}-*/;
这些都是由用户按下后退按键。有什么方法提示用户浏览器后退按钮..? – 2014-04-26 06:35:43
'HistoryListener'和一般*监听器不推荐使用GWT 1.6 - 你应该使用相应的Handlers(在这种情况下它是一个'ValueChangeHandler',它可能不如'HistoryHandler'那么明显)。 – 2010-05-09 19:51:57