Android上的PhoneGap不会加载外部脚本

时间:2012-02-21 03:14:41

标签: javascript android cordova

我正在制作一个可以加载谷歌地图的简单应用。但问题是我每次加载这个

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

它不会在我的Android模拟器上运行,而在桌面上它工作正常。我怎样才能让Phonegap或Android允许外部脚本工作/加载?

更新:我总是收到此错误“应用程序错误:与服务器的连接不成功。(文件/// android_asset / www / index.html)。但如果我删除了谷歌地图脚本。它可以工作。

3 个答案:

答案 0 :(得分:3)

实际上,白名单是@TDeBailleul所说的问题,但他指的是iOS中白名单的位置而不是Android。

在android中,它位于/res/xml/PhoneGap.xml

此答案中有一个此文件的示例:https://stackoverflow.com/a/9187479/878602

答案 1 :(得分:0)

最新的PhoneGap版本(2.7.0)。您应该修改位于Android项目的 / res / 目录中的文件“ config.xml ”。只需添加:

<access origin="http://www.yourdomain.com" subdomains="true" />

除非另有规定,否则假定域被阻止。

答案 2 :(得分:0)

在手机版5.1中,有些内容与上述答案不同。

安装了一个名为cordova-plugin-whitelist的插件。阅读plugins/cordova-plugin-whitelist/README.md处的文件以了解详细信息。

有多种白名单(导航,意图和访问来源),在这种情况下,您需要content-security -policy。

<!-- Enable all requests, inline styles, and eval() -->
<meta http-equiv="Content-Security-Policy" content="script-src: 'self' 'unsafe-inline' 'unsafe-eval' 'https://maps.google.com'">