例如當前頁面是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