2012-01-03 5 views
0

jQuery Mobile에서 data-rel = "back"또는 data-add-back-btn = "true"를 사용하여 "Back"버튼을 쉽게 만들 수 있습니다. 그러나 일부 사용자 정의를 다시 전달할 수있는 방법이 있습니까? 사용자가 뒤로 버튼을 클릭 할 때의 데이터?뒤로 버튼과 함께 데이터를 전달하는 방법은 무엇입니까?

한 가지 일반적인 시나리오는 Ajax를 사용하여 page1에서 page2로 전환하는 것입니다. 페이지 2에서 사용자는 일부 작업을 수행하고 사용자가 "뒤로"버튼을 클릭하면 page2에서 이러한 작업의 결과를 page1로 다시 전달해야합니다.

지금까지 적절한 솔루션을 찾을 수 없었습니다. azicchetti의 플러그인 jquerymobile-router는 a1ax 매개 변수를 page1에서 page2로 전달하려는 경우 유용합니다 (따라서 page2는 page1의 일부 지식을 갖습니다). 하지만 어떻게 역순으로 적용 할 수 있는지 잘 모르겠습니다. (page2 페이지 1로 돌아 가기)

+0

뒤로 단추는 전통적으로 스택의 현재 컨텍스트를 팝하고 이전 컨텍스트로 되돌립니다. 이전 URL로 POST하는 것이 실제로 원하는 것 같습니다. jQuery가 뒤로 버튼을 구현하는 방법이라고 말할만큼 잘 모르지만, 원하는대로 다른 메커니즘을 사용해야 할 것입니다. – TMN

+0

POST 또는 GET (모든 서버 관련 작업)은 page2에서 완료된 것으로 가정하므로 page1은 클라이언트 측에서 page2의 결과로 무언가를 수행하고있는 것입니다. – Antony

답변

1

쿠키 또는 세션을 사용합니다. 또 다른 가능성은 로컬 스토리지입니다.

+0

쿠키/세션/로컬 저장소의 유일한 관심사는 안정성입니다. 사람들이 모바일에서 쿠키를 사용 중지 할 수 있고 주어진 웹 사이트에서 로컬 저장소를 거부 할 수 있습니다. 세션의 경우 모바일 연결이 끊어지면 클라이언트가 실패합니다. 전역 자바 스크립트 변수 (예 : var MyWebApp = {})를 사용하고 페이지간에 해당 전역 변수를 공유하는 것이 좋습니다. 사용자가 페이지를 새로 고침하면 작동하지 않습니다. – Antony

+0

글쎄, 나는 세 가지 수준의 폴백 메커니즘으로 끝났다. 인덱스 모바일 페이지에서 전역 js 변수 + localStorage 설정/가져 오기와 관련된 일부 논리가있다. 또한 jquery.cookie.js도로드합니다. 따라서 pageshow 이벤트 내에서 을 확인합니다. 1. 전역 변수에 필요한 사용자 정의 데이터가있는 경우. 그렇지 않은 경우 2. 데이터에 대한 쿠키를 확인하십시오. 그렇지 않은 경우 3. localStorage를 확인하십시오. 충분하면 충분합니다. – Antony

관련 문제