2008-11-14 14 views
1

현재 웹 앱의 JS 메뉴를 작업 중입니다. Javascript 기능으로 활성화 된 메인 메뉴와 서브 메뉴 (표시 : 표시에서 차단 : 없음)라는 두 개의 막대로 구성됩니다. 하위 메뉴뿐 아니라 주 메뉴의 선택된 옵션도 onclick 이벤트에 의해 class = "main_on"및 class = "sub_on"을 추가하여 강조 표시됩니다. 사용자가 F5를 누르거나 페이지가 다시로드 될 때 어떤 하위 메뉴가 표시되었고 현재 어떤 옵션이 활성으로 분류되었는지 기억하는 방법이 있습니까? 가능한 경우 비 쿠키 및 비 데이터베이스 접근 방식을 찾고 있습니다.자바 스크립트 메뉴 위치 기억하기

감사합니다,

마이크

답변

5

당신은 (onclick 이벤트의 경우)를 클릭 링크/요소를 만들 수는 주소 표시 줄에 URL 해시를 설정합니다. (예 : http://server.name/page#URLhash) 링크 인 경우 HREF 속성을 조정해야합니다. 그렇지 않으면 window.location을 사용하여 조작해야 할 수 있습니다.

현재 상태를 설정합니다. 페이지가 다시로드되면 URL 해시 값을 확인하십시오. 액세스 방법에 대한 자세한 내용은 http://developer.mozilla.org/en/DOM/window.location을 참조하십시오. URL 해시가 검색 주소창에있는 경우 값을 가져올 수 있습니다.

그런 다음 값을 사용하여 활성화 할 메뉴를 결정하십시오. 따라서이 방법으로 상태를 복원 할 수 있습니다.

브라우저마다 약간의 차이가 있습니다. "Ajax History"에 대한 검색을 수행합니다. 일부 사람들은 Ajax 작업 후에 상태를 보존하기 위해 URL 해시를 사용했습니다. 똑같은 문제는 해결하려고하는 것이 아니라 비슷합니다. 체크 아웃 RSH : http://code.google.com/p/reallysimplehistory/

동일한 아이디어가 사용됩니다.

+0

감사합니다. # 이렇게 쉽게 JS로 조작 할 수 있다는 것을 몰랐습니다. –