2012-03-14 4 views
5

저는 모바일 앱을 조금 만들었고 JQM에 대한 질문이 있습니다. 사용자가 로그인 한 사용자입니다jquerymobile phonegap back-button 이전 상태 얻기

JQM에서 loadPage (예 : $.mobile.loadPage("pageA.html"))과로드 페이지 A. 페이지 A를 리디렉션됩니다 페이지가로드 된 후

, 나는 AJAX 호출 때문에 할 데이터베이스에서 일부 데이터를 가져 와서 페이지 A의 내용을 변경합니다. 페이지 A에서 페이지 B로 이동할 수 있습니다. 페이지 B에는 뒤로 버튼이 있습니다. 뒤로 버튼을 클릭하면 앱이 AJAX 콘텐츠가없는 상태로 돌아갑니다. 이 문제를 해결할 수있는 방법이 있습니까? 사용자가 떨어져 페이지에서 탐색 한 번

감사

답변

7

기본적으로는, jQuery를 모바일 AJAX를 통해 DOM에 가져온 모든 페이지를 제거합니다. 특정 페이지에 대해이 기능을 사용하지 않으려면 당신은 true에 페이지의 data-role="page 요소에 data-dom-cache 속성을 추가하고 설정할 수 있습니다

<div data-dom-cache="true" data-role="page" id="pageA"> 
    ... 
</div> 

자료 : http://jquerymobile.com/demos/1.1.0-rc.1/docs/pages/page-cache.html

이 기능을 첨가 DOM 크기를 제어 할 수 있도록 jQuery Mobile에서 브라우저 충돌이 덜 발생합니다. DOM에 하나의 페이지 만 보관하려는 경우 장치가 굉장히 큰 페이지가 아닌지 확인하십시오.

+0

좋아요, 감사합니다. 완벽하게 작동합니다. 나는 JQM 문서의 모든 페이지를 보았고, 결코 이것을 보지 못했다 :) 어쩌면 나는 안경이 필요하다;) –

+0

iOS와 Phonegap에서이 작업이 가능합니까? – Blynn

+0

@Blynn 그래,이게 PhoneGap에서 잘 작동 할거야. PhoneGap에서는 응용 프로그램 내에 웹 페이지를 표시하기 위해'webview'를 사용합니다. 따라서 동일한 기본 DOM이 대부분 존재합니다. – Jasper