Parse.com JS SDK未在PhoneGap / Cordova中加载

时间:2015-10-17 10:30:30

标签: cordova parse-platform parse-javascript-sdk

我试图在Phonegap / Cordova应用程序中加载Parse.com的JS SDK。

这是我的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>

我已使用Parse.com中的相应字符串替换MY_APPLICATION_IDMY_JS_KEY

该应用在浏览器中加载正常(Mac上的Safari),并且我能够成功地向Parse Cloud进行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。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

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

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

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