2015-10-17 32 views
0

我想在Phonegap/Cordova应用程序中加载Parse.com的JS SDK。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_IDMY_JS_KEY与Parse.com适当的字符串。

该应用在浏览器(Mac上的Safari)中加载正常,我可以成功解析云端的API调用。但是,如果我使用Cordova打包应用程序并在移动设备(iOS/Android)上运行它,则无法从parsecdn.com加载Parse JS SDK,因此此错误消息(例如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模拟器和一个真正的iPhone设备(通过USB连接到Xcode)上运行,两者都无法对Parse.com进行API调用,并且还验证了这些设备具有活动的Internet连接。

奇怪的是,一切都很完美,甚至在Mac上使用Safari本地浏览时,它甚至可以成功上传对象并将其保存到Parse.com。

什么可能我做错了?

回答

0

我已经解决了这个问题,通过在本地保存Parse.js并从那里加载而不是从CDN加载。

看来这里真正的问题是PhoneGap无法正确加载远程JS。

有人建议在cordova.js之前加载所有远程脚本,这在我的情况下也不起作用。

+0

实际上[你\ *必须*](http://docs.phonegap.com/en/2.3.0/cordova_events_events.md.html#deviceready)等待'deviceready'事件才能做任何事情。还有*最佳做法*在本地加载尽可能多的资产。这可能也有帮助 - [开发人员对Cordova/Phonegap不熟悉的顶部错误](https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/new-to-Phonegap.md) – JesseMonroy650