我使用 jQuery 和 jQueryMobile 创建了一个 HTML5 网站。
如果我在浏览器中运行它,一切正常。
当我通过 Phonegap 将其部署到 iPhone 模拟器时,它不会找到我包含的 jQuery 对象 ($),如下所示:
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
console.log($); // undefined
如果我修改 src 属性,以便我的应用程序使用 jQuery 的本地副本,则 jQuery 对象存在:
<script src="lib/jquery.js"></script>
console.log($); // works
但是然后我注意到我的应用程序中的 Ajax 调用都不起作用。
因此,我假设我的 iPhone 应用程序拒绝与远程主机的 HTTP 连接。
我该如何解决这个问题?
<小时/>更新:我检查了 iPhone 应用程序中部署我的应用程序的 URL,如下所示:
文件:///Users/mobile/Library/Application Support/iPhone Simulator/5.1/Applications/9767E436-B93422-5423-5HLD-1680170C8AC5/MyApp.app/www/index.html
最佳答案
您需要在 Cordova.plist 中指定允许连接哪些主机
此功能称为 Whitelist并避免您的应用连接到您不想连接的服务器
关于javascript - 电话间隙 : Cannot call remote hosts via HTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11901011/