2013-04-17 2 views
0

phonegap으로 빌드 된 모바일 애플리케이션이 있고 jquery mobile을 사용하고 있습니다. 첫 번째 페이지에는 다른 링크, href = "page2.html"이 있습니다.페이지를 변경할 때 jquery mobile의 .get() 메소드가로드되지 않습니다.

두 번째 페이지가로드되면 .get()을 사용하여 xml 데이터를 검색하고 xml2json.js를 사용하여 json으로 변환합니다. 이 페이지를 색인으로 만들고 응용 프로그램을 열 때 페이지를로드하면 페이지가 제대로 작동하므로 스크립트가 작동 중임을 알 수 있습니다. 그러나 다른 페이지의 링크를 통해로드 할 때 .get() 메서드가 데이터를로드하지 않는 것 같습니다.

<script type="text/javascript" src="cordova-2.4.0.js"></script> 
     <script type="text/javascript" src="js/index.js"></script> 
     <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script> 
     <script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script> 
     <script type="text/javascript" src="js/jquery.xml2json.js"></script> 
     <script type="text/javascript"> 
      $.get('http://domain.com/app/getfacilities/?org=mysite', function(xml){ 
        var facilities = $.xml2json(xml); 
        for (i=0; i<=facilities.facility.length; i++){ 
        var locName = facilities.facility[i].name; 
        var id = facilities.facility[i].id; 
        $("#fieldList").append("<li><a href='#'>" + locName + "</a></li>").listview('refresh'); 
        } 
        }); 
      </script> 
     <script type="text/javascript"> 
      app.initialize(); 
     </script> 
+0

해당 스크립트 태그 (page2.html)는 HEAD 또는 BODY의 일부입니까? – Gajotres

+0

그들은 본문에 있고,/body 태그 바로 위에 있습니다. –

답변

0

당신은 당신의 <div data-role="page"> 태그의 내부에 <script> 태그를 배치해야합니다. <div data-role="page"> 태그 외부에있는 <script> 태그는 첫 번째/첫 번째 페이지로드시에만로드되며 이는 사용자가 경험 한 것과 일치합니다.

<div data-role="page"> 
    <script> 
     // js script here 
    </script> 
</div> 
+0

여전히 작동하지 않습니다. jqmobile과 phonegap을 함께 사용하면 내가 만든 각 페이지에이 스크립트를 모두 포함시켜야합니까? Nimblekit으로 앱을 제작했는데 아주 간단했습니다. 내가 뭔가를 여기에서 놓치고있는 것처럼 느낀다 :-(. –

+0

훌륭하다, 이것은 페이지에서 모든 스크립트를 삭제하고 body에 .get() 메소드를 포함시켰다. Tks, @andleer! –