2015-10-17 3 views
0

Я пытаюсь загрузить JS SDK Parse.com в приложении Phonegap/Cordova.Parse.com JS SDK не загружается в PhoneGap/Cordova

Вот что мой WWW/index.html выглядит следующим образом:

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
     <title></title> 

     <!-- Sets initial viewport load and disables zooming --> 
     <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"> 

     <!-- Makes your prototype chrome-less once bookmarked to your phone's home screen --> 
     <meta name="apple-mobile-web-app-capable" content="yes"> 
     <meta name="apple-mobile-web-app-status-bar-style" content="black"> 

     <!-- Include the compiled Ratchet CSS --> 
     <link href="css/ratchet.css" rel="stylesheet"> 
     <script src="cordova.js" type="text/javascript"></script> 
     <script src="js/jquery-1.11.3.min.js"></script> 
     <script src="http://www.parsecdn.com/js/parse-1.4.2.min.js"></script> 
     <script type="text/javascript"> 
      Parse.initialize("MY_APPLICATION_ID", "MY_JS_KEY"); 
     </script> 
     <script src="js/ratchet.js"></script> 
     <script src="js/main.js"></script> 
    </head> 
    <body onload="init()"> 

    </body> 
</html> 

Я заменил MY_APPLICATION_ID и MY_JS_KEY с соответствующими строками из Parse.com.

Приложение загружается в браузере (Safari на Mac), и я могу успешно выполнить вызовы API в Parse Cloud.

Однако, если пакет приложения с помощью Кордовы и запустить его на мобильном устройстве (IOS/Android) он не может загрузить Синтаксическую JS SDK от parsecdn.com, поэтому это сообщение об ошибке (например, Android):

10-17 06:03:42.382: I/chromium(11792): [INFO:CONSOLE(20)] "Uncaught ReferenceError: Parse is not defined", source: file:///android_asset/www/index.html (20) 

Я пробовал работать в Android Emulator и реальном устройстве iPhone (подключен через USB к Xcode), оба из которых не могут вызвать вызовы API на Parse.com, а также подтвердили, что эти устройства имеют активное интернет-соединение ,

Странно, что все работает отлично, и оно даже загружает и сохраняет объекты успешно на Parse.com при просмотре локально с помощью Safari на Mac.

Что я мог сделать неправильно?

ответ

0

Я решил проблему, сохраняя Parse.js локально и загружая оттуда вместо загрузки с CDN.

Похоже, что настоящая проблема заключается в том, что PhoneGap не может правильно загрузить удаленный JS.

Некоторые из них предложили загрузить все удаленные сценарии до cordova.js, которые также не работали в моем случае.

+0

на самом деле [вы \ * MUST *] (http://docs.phonegap.com/en/2.3.0/cordova_events_events.md.html#deviceready) дождаться события 'deviceready', прежде чем вы сможете делать НИЧЕГО. Кроме того, что касается * лучшей практики * загружает столько ресурсов, сколько вы можете локально. Это тоже может помочь - [Новые ошибки от разработчиков, новых для Кордовы/Phonegap] (https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/new-to-Phonegap.md) – JesseMonroy650

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