2012-08-14 3 views
1

저는 다양한 양식 제출 및 페이지 업데이트에 걸쳐 유지되는 항목을 수정할 수있는 목록을 사용자에게 제공하려는 웹 애플리케이션 (bottle + beaker + jQuery)을 작성하고 있습니다. 목록의 항목을 클릭하면 해당 목록 항목에 대한 정보가 데이터베이스에 쿼리되며이 정보는 사용자가 업데이트 할 수 있습니다. 다른 목록 항목을 쿼리하거나 업데이트하는 동안 목록이 지속되도록하고 싶습니다. 또한 사용자가 편리하게 사용할 수 있도록 목록을 처리하거나 보면서 항목을 "선택 취소"(또는 선택 취소) 할 수 있습니다.여러 양식 제출 및 페이지 업데이트에서 지속되는 사용자 수정 가능 목록의 웹 디자인 패턴?

페이지의 각 양식에서 숨겨진 요소를 업데이트 한 다음 세션 관리를 사용하여 매 왕복 당일 서버에서 작업 목록을 업데이트하고 Ajax를 사용하여 목록의 항목이 선택되거나 "활성"목록 요소가 될 때마다 세션 변수)하지만 그 중 아무 것도 대단히 만족 스럽거나 우아하지는 않습니다.

제 질문은 이런 종류의 문제를 처리하는 표준 방법이 있습니까? 분명히 비슷한 웹 응용 프로그램에 대한 공통 요구 사항입니다.

답변

1

stackoverflow.com에 대한 자세한 연구 (이 링크는 도움이되었다 :

How to differ sessions in browser-tabs?

Managing webapp session data/controller flow for multiple tabs ) 동료와 유용한 토론과 함께

대부분의 최신 브라우저에서 작동해야 대답을했다 즉 HTML5 로컬 저장소를 사용합니다. 원래 질문에 언급 된 목록은 해당 사용자 세션에만 관련되어 있으므로이 정보를 서버에 전달할 필요는 없습니다. jStorage과 같은 것을 사용하면 페이지를 새로 고칠 때마다 목록을 로컬에 저장 한 다음 반환 될 때 미리 정의 된 키를 사용하여 다시 검색합니다. 유일한 트릭은 다른 브라우저 탭이나 창에 대해 서로 다른 작업 목록을 유지하는 방법입니다. 세션 또는 쿠키 (모든 탭/창에서 공유 됨)를 사용하여이 작업을 수행 할 수 없습니다. 그러나, 당신은 window.name을 설정하기 위해 자바 스크립트를 사용할 수 있습니다. 이렇게하면 로컬 목록/데이터가 저장된 키로 window.name을 사용할 수 있기 때문에 서버로 왕복 할 때마다 GET 변수로 탭 또는 창 ID를 전달하는 수고를 덜 수 있습니다.