2011-04-07 20 views
0

방 목록을 표시하고 상태를 표시하는 웹 서버가 있습니다. 30 초마다 새로운 이벤트를 수집하고 객실의 상태 변화를 표시하기 위해 새로 고침됩니다.새로 고침 중에 스크롤 위치 유지

문제는 새로 고침 빈도가 빠르기 때문에 이벤트가 실시간으로 등록되지만 페이지가 새로 고침 될 때마다 사용자가 목록의 맨 위로 이동하여 몇 백 개의 방이있을 때 문제가되는 것입니다 .

서버는 .jsp 파일로 구성됩니다. 페이지 상단 근처의 HTML 태그에 javascriptin이 표시되어 있기 때문에 자바 스크립트라고 생각합니다.

PHP에 대한 추가 기능을 사용하기 위해 자바 스크립트를 사용했습니다. 이에 대해서는 조금 확실하지 않습니다.

누군가가 페이지의 새로 고침시 사용자의 스크롤 위치를 저장하고 재설정 할 수있는 방법을 알고 있습니다.

감사

+1

* their. PHP + 아약스를 사용했다면 페이지를 새로 고치지 않고도 데이터를로드 할 수 있습니다. 코드/세부 정보를 게시 할 수 있습니까? – Calum

+1

JSP는 JavaServer Pages를 나타내며 자바 스크립트가 아닙니다. 그것은 당신의 수색에서 당신을 도울지도 모른다. – Dai

+0

@Calum Im PHP를 사용하지 않습니다. 나는 다른 사람의 코드 (이전 직원)를 향상시키고 PHP 만 알고 있으므로 내가 무엇을하고 있는지 확신 할 수 없다. – Skeith

답변

2

당신은 쿠키에 scrollTop의 값을 저장하고 온로드, 다시 그 값 scrollTop을 설정하지만, 아마 사용자에게 변덕스러운 경험을 할 것입니다 수 있습니다.

새 데이터를 XHR/Ajax로 호출 한 다음 페이지의 올바른 위치에 추가하려고 할 수 있습니다.

좋아하는 JS 라이브러리를 사용하면 쉽게 처리 할 수 ​​있습니다.

0

요즘 쿠키 대신 sessionStorage을 사용해야합니다. sessionStorage는 탭 고유 동안 쿠키가, 탭 (잠재적으로 매우 혼란 임)에서 공유 할 것이다

sessionStorage가 Window.localStorage 유사 유일한 차이점 로컬 스토리지에 저장된 데이터가 만기 세트가없는 상태이며 페이지 세션이 끝나면 sessionStorage에 저장된 데이터가 지워집니다. 페이지 세션은 브라우저가 열려 있고 페이지 재로드 및 복원시까지 지속됩니다. 새 탭이나 창에서 페이지를 열면 세션 쿠키가 작동하는 방식과 다른 새로운 세션이 시작됩니다 ().

관련 문제