2012-08-30 2 views
1

jquery mobile에 문제가 있습니다. 페이지를로드 할 때 JSon 형식의 노출 된 API에서 데이터를 가져 와서 구문 분석 한 다음 데이터를 DOM에 삽입하여 페이지를 표시합니다. ,하지만 무슨 일이 일어나고 페이지가 보여 다음 2-4 초 그것이 데이터를 구문 분석하는 동안 다음 페이지에 데이터를 삽입하고 전혀 시각적으로 기쁘지 않다, 그냥 내가 어떻게 미리로드 할 수있는 DOM을 궁금해. pageChange 애니메이션이 실행되기 전에 JSON을 파싱합니다.Jquery Mobile 사전로드 페이지

답변

2

JQuery Mobile에서 동적으로 생성 된 페이지를 처리하는 적절한 방법은 페이지 검색을 문서의 beforepagechange 이벤트에 바인드하는 것입니다. 페이지가 검색되면 적절한 변경 페이지로 진행할 수 있습니다. 예를 들어

의 URL "newPageURL"

$(document).bind("pagebeforechange", function(e, data) { 
    if ((typeof data.toPage === "string") && (data.toPage == "newPageURL") ) { 
     e.preventDefault(); //to make sure we prevent standard page change 
     getPageFromAPI({success: function (newPage) { 
       $.mobile.changePage(newPage) 
      } 
     }); 
    } 
}); 
+0

흠하여 액세스 페이지의 전체 JQuery와 객체를 검색하는 getPageFromAPI 기능, 내가 뭘, 그 JQuery와 모바일 문서의 예를 다음 메신저, 하지만 어떤 이유로 $ .getJon이 해고되지 않고 API에서 아무 것도 꺼내지 않고 있습니다. – flaiks

+0

이 작업 종류가 있는데, 처음에는 페이지가 작동하지 않아 DOM에로드되지 않는 이유가 있습니다. 나는 심지어 $ .mobile.loadPage ("desired_page.html")를 시도했다; 그러나 getPageFromAPI 함수의 시작 부분은 페이지를로드 한 다음 JSON을 페이지에로드합니다. 전체 함수가 완료 될 때까지로드 휠 정렬을 표시하여 사용자가 빈 페이지를 채울 때까지 기다리지 않습니다. . – flaiks

관련 문제