我试图在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_ID
和MY_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。
我做错了什么?
答案 0 :(得分:0)
我已经通过在本地保存Parse.js并从那里加载而不是从CDN加载来解决了这个问题。
这里真正的问题似乎是PhoneGap无法正确加载远程JS。
有些人建议在cordova.js
之前加载所有远程脚本,这在我的情况下也不起作用。