나는 한 번에 3 개의 합성물, 즉 머리글, 꼬리말 및 내용 합성물을 포함하는 간단한 응용 프로그램 구조를 사용합니다. 복합 재료는 다음과 같은 방식으로 배치됩니다.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