У меня есть простая структура приложения, которая будет содержать три композита в любой момент - мои композиторы header, footer и content. Композиты изложены следующим образом.История GWT - Почему это меняет фокус моего экрана?
<body>
<div id="header">
<div id="content">
<div id="footer">
</body>
Композиты назначены три <div>
-х в моей EntryPoint
. 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();
В моих Composites, у меня есть несколько ClickEvent
обработчики, которые выглядят подобно следующему.
@UiHandler("registerLink")
public void handleClick(ClickEvent event) {
ContentContainer.INSTANCE.setContent(new RegisterScreen());
History.newItem("registration", true);
}
Это очень хорошо регистрирует историю. Это также приводит меня к соответствующим страницам, когда я нажимаю кнопку «Назад». Тем не менее, он имеет очень странный эффект фокусировки браузера на составном составе контента, при этом эффект прокрутки браузера снизу. Это не прерыватель транзакций, но это немного нарушает пользовательский интерфейс. (Дайте мне знать, если объяснение не ясное, я добавлю изображения)
Что именно вызывает это и как его исправить?
Хорошее место на 'setContent'. Я удалил дубликат кода. Однако у меня нет элементов, имя которых совпадает с маркером истории. Непонятные ... – Ayrx