2012-10-05 3 views
0

PhoneGap을 사용하여 모바일 앱을 개발하기 시작합니다. 먼저 index.html과 place.html이라는 두 개의 .html 파일을 만듭니다.phonegap을 사용하여 클릭 한 후 페이지를 캐시하는 방법은 무엇입니까?

index.html에서 $ .get() 메서드를 사용하여 웹 서비스에서 json 데이터를 가져 와서 HTML 태그에 표시합니다.

사용자가 index.html 페이지에서 링크를 클릭하면 place.html로 이동합니다. place.html에 나는

<a href="index.html">Back</a> 

back to index.html 페이지와 같은 단추를 다시 넣습니다.

문제는 페이지가로드 될 때 $ .get() 메소드를 실행하는 index.html 페이지로 돌아 가기 버튼을 클릭하는 것입니다.

index.html 페이지를 캐시하는 방법은 무엇입니까? 뒤로 버튼을 클릭하면 처음부터 동일한 데이터를 사용합니다.

감사합니다.

답변

0

jQuery 모바일을 사용해 보셨습니까?

당신은 실제로 전체 라이브러리를 포함해야하지만 홈 페이지 컨테이너에

<div class="home-page" data-role="page" data-dom-cache="true" > 

속성을 사용하지 않습니다. 또 하나 주목해야 할 것은 jQM이 작동하려면 모든 페이지에 data-role = "page"속성이 필요하다는 것입니다. jQM Documentation on caching pages 내가 데이터 ROL를 넣어하려고

+0

= "페이지"및 데이터 DOM 캐시 :

$.mobile.page.prototype.options.domCache = true; 

참조를 다음과 같이 기본적으로

은 JQM을 사용하지 캐싱을 가지고, 당신은 자바 스크립트를 활성화 할 수 있습니다 = "true"를 index.html 및 place.html에 입력하십시오. 문제는 index.html에서 place.html 페이지로의 링크를 클릭하면 place.html이 $ .get() 메소드를 호출하지 않는다는 것입니다. – Giffary

+0

다음과 같이 이벤트에 $ .get()을 호출해야합니다.
$ (document) .bind ('pagechange', yourFunction); 함수 yourFunction() {$ .get(); } 페이지가 변경되면 새로운 페이지가 Ajax를 통해로드되기 때문에 모든 요소를 ​​리 바인드하고이 페이지 교환 바운드 기능에서 초기화를 호출해야하기 때문입니다. 도움이 되길 바랍니다. – theunexpected1

+0

또한 $ .ajax를 사용하고 $ .get 요청이 여러 번 전송되지 않도록 'cache : false'옵션을 전달할 수 있습니다. 예 : $ .ajax ({ 유형 : "GET", 캐시 : true, url : "http : //domain.tld" }); – theunexpected1

관련 문제