2015-11-02 2 views
0

По какой-то причине JQuery mobile не загружается, когда я создаю приложение и помещаю его в свой Android, но если я запустил его на эмуляторе, он выглядит и работает отлично. Пожалуйста помогите. Есть ли какие-то дополнительные шаги, которые мне нужно предпринять, чтобы заставить его работать или что-то еще?jQuery mobile не работает должным образом в приложении phonegap

<html> 
 
    <head> 
 
     <meta charset="utf-8" /> 
 
     <meta name="format-detection" content="telephone=no" /> 
 
     <!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See https://issues.apache.org/jira/browse/CB-4323 --> 
 
     <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" /> 
 
     <script type="text/javascript" src="cordova.js"></script> 
 
     <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" /> 
 
     <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> 
 
     <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> 
 
     <style> 
 
      #container 
 
      { 
 
       margin: 8px; 
 
      } 
 
     </style> 
 
     <script> 
 
     var xmlhttp; 
 

 
     window.onload=function() 
 
     { 
 
      document.addEventListener("deviceready", init, false); 
 
      //init(); 
 
     } 
 

 
     function init() 
 
     { 
 
      document.getElementById('btnHitServer').addEventListener('click', getServer, false); 
 
      xmlhttp = new XMLHttpRequest(); 
 
      xmlhttp.onreadystatechange = receiveServer; 
 
     } 
 

 
     function getServer() 
 
     { 
 
      xmlhttp.open('GET', 'http://app.mafialife.com/?email_debug=1', false); 
 
      xmlhttp.send(); 
 
     } 
 

 
     function receiveServer() 
 
     { 
 
      if(xmlhttp.readyState==4 && xmlhttp.status==200) 
 
      { 
 
       var json = jQuery.parseJSON(xmlhttp.responseText); 
 
       // console.log(json); 
 
       document.getElementById('Server').innerHTML = json.value.joke; 
 
      } 
 
     } 
 

 
     </script> 
 
     <title>Hit Server</title> 
 
    </head> 
 
    <body> 
 
     <div id="container"></div> 
 
     <h2>Connect To Server</h2> 
 
     <button id="btnHitServer">Hit Server</button> 
 
     <p>Press the button to Connect To Server</p> 
 
     <div id="Server"></div> 
 
    </body> 
 
</html>

ответ

0

Вы должны быть действительно загрузив JavaScript и CSS для JQuery и JQuery мобильных и делает их местные ресурсы в проекте Кордова. Затем настройте свои и теги, чтобы указать на локальные версии.

Не включая эти файлы локально, это приведет к тому, что ваше приложение не сможет запускаться и работать, если устройство находится в автономном режиме, и вызовет ненужные проблемы с производительностью, так как приложение пытается удаленно загрузить эти файлы при запуске.

Если вы используете Cordova 5, удаленная загрузка JS и CSS при запуске также является тем, что, вероятно, остановит ваше приложение на реальном устройстве, метатег Content Security Policy должен быть настроен так, чтобы разрешать удаленные нагрузки JS и CSS. Однако в соответствии с моими предыдущими комментариями вы хотите связать их локально в приложении где-нибудь в вашей папке www (например, в подкаталогах css и js в зависимости от того, как вы структурируете свой проект), поскольку загрузка их удаленно не является лучшей практикой по причинам, которые я изложил ,

+0

Так что теперь я храню jQuery локально, но он все равно не загружается при запуске приложения. – Dave

+0

Вы добавили прослушиватель событий deviceready и запустили приложение в функцию обратного вызова? Кордова не готова, пока это событие не загорится. –

+0

Я не уверен. Как мне это сделать? – Dave

Смежные вопросы