0
我有一個簡單的應用程序結構,在任何時候都會包含三個組合 - 我的頁眉,頁腳和內容組合。複合材料按以下方式佈置。GWT歷史記錄 - 爲什麼它改變了我的屏幕焦點?
<body>
<div id="header">
<div id="content">
<div id="footer">
</body>
的複合材料在我EntryPoint
分配到三個<div>
的。 EntryPoint
還包含如下的歷史處理程序。
History.addValueChangeHandler(new ValueChangeHandler<String>() {
@Override
public void onValueChange(ValueChangeEvent<String> event) {
String historyToken = event.getValue();
if(historyToken.isEmpty()) {
parseTokens();
ContentContainer.INSTANCE.setContent(new IndexScreen());
}
else if(historyToken.equalsIgnoreCase("registration")) {
ContentContainer.INSTANCE.setContent(new RegisterScreen());
}
else if(historyToken.equalsIgnoreCase("login")) {
ContentContainer.INSTANCE.setContent(new LoginScreen());
}
}
});
History.fireCurrentHistoryState();
在我複合,我有幾個ClickEvent
處理器看起來類似以下內容。
@UiHandler("registerLink")
public void handleClick(ClickEvent event) {
ContentContainer.INSTANCE.setContent(new RegisterScreen());
History.newItem("registration", true);
}
這很好地記錄了歷史。當我點擊後退按鈕時,它也會將我帶到適當的頁面。但是,它將瀏覽器聚焦到內容合成上具有非常奇怪的效果,其中瀏覽器滾動到底部。這不是一個交易斷路器,但它有點打破了用戶體驗。 (請告訴我,如果解釋不清楚,我會添加圖片)
究竟是什麼導致了這個問題,我該如何解決?
適合'setContent'。我已經刪除了重複的代碼。但是,我沒有任何元素的名稱與歷史記號相匹配。百思不得其解...... – Ayrx