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