2012-05-27 3 views
0

내 JQuery Mobile 앱의 파일 구조를 다운로드했습니다. 나는 이것을 로컬 파일 시스템에서 테스트 해보기 위해이 작업을 수행했다. 그 이유는 내 앱이 Cordova와 함께 실행되기를 바랍니다. 내 이해 cordova에서 파일을 실행합니다 : //. 현재 내 파일 구조는 다음과 같습니다.Cordova의 JQuery Mobile (phoneGap)에서 changePage 사용

index.html 
account 
    register.html 
    reset.html 

index.html에 "가입"버튼이 있습니다.

$.mobile.changePage("account/register.html", { transition: "slide" }); 

내가 브라우저 URL의 전체 경로를 넣어 경우 register.html 잘 작동하는지 확인했습니다 누군가가 클릭하면, 다음과 같은 코드를 사용합니다. 이상하게도 "가입"을 클릭하면 "페이지로드 오류"가 나타납니다. file : //에서 changePage를 사용할 때 문제가 있습니까? 그렇다면 어떻게 이것을 극복 할 수 있습니까?

감사합니다.

답변

0

는이

$.mobile.changePage("../account/register.html", { transition: "slide" }); 
+2

어떻게 해결 될까요? 이 경우 index.html을 표시하면서 "현재 디렉토리"는 무엇입니까? –

0

당신은 단지 코드 <a href="">..</a> 링크를 남길 수 있습니다 시도하고 그것을 잘 작동합니다. changePage를 명시 적으로 호출해야하는 이유가없는 한.

0

이 답변은 iOS에서 PhoneGap 앱을 실행하는 중에 문제가 발생하는 경우에만 발생합니다.

페이지를 삽입하려면 AJAX 호출에 필요한 $.mobile.allowCrossDomainPages = true;을 설정해야합니다. 당신의 폰갭 app 객체 정의에서

: 당신이 당신의 index.htmlapp.initialize()를 호출 할 때

var app = { 
    initialize: function() { 
     // setting required to use $.mobile.changePage() 
     // http://jquerymobile.com/demos/1.2.0/docs/pages/phonegap.html 
     $.mobile.allowCrossDomainPages = true; 
    }, 
}; 

는 그래서,이 속성은 어떤 $.mobile.changePage() 함수 호출하기 전에 설정됩니다.

Safari Web Inspector를 통해 오류가 반환되지 않으므로 문제를 해결하는 데 몇 시간을 절약 할 수 있습니다.

관련 문제