2012-02-21 57 views
5

我正在制作一个简单的应用程序,将加载谷歌地图。但问题是,每次我加载此PhoneGap在Android上不会加载外部脚本

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

它不会在我的Android模拟器上运行,同时在桌面上,它工作正常。我如何让Phonegap或Android允许外部脚本工作/加载?

更新:我总是得到这个错误“应用程序错误:。。到服务器的连接失败(文件/// android_asset/WWW/index.html的),但如果我删除了谷歌地图脚本它工作

回答

2

其实,白名单是问题就像@TDeBailleul说,但他所指的白名单中的iOS Android的没有的位置。

在Android中,它是在/res/xml/PhoneGap.xml

在这个答案中有一个文件的例子:https://stackoverflow.com/a/9187479/878602

+0

它仍然无法正常工作。我还没有在实际的手机上试过。这是我现在在PhoneGap上唯一的问题。 – psycrow117 2012-02-21 08:13:39

+0

也许你想做更多的事情?我当然不会在包含该脚本标记的错误应用程序中出现错误 – Devgeeks 2012-02-22 03:07:00

+0

您可以给我一个phonegap.xml样本吗?这是我的,但不起作用。 '<?XML版本= “1.0” 编码= “UTF-8”> <接入原点= “HTTP://127.0.0.1*”/> <接入原点=“HTTP://maps.googleapis .com *“/> \t ' – psycrow117 2012-02-23 01:37:23

0

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

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

除非另有说明,否则域被假定为阻塞。

0

在phonegap版本5.1中,事情与上述答案不同。

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

有多种白名单(导航,意图和访问来源),在这种情况下,您需要内容安全策略。

<!-- 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'">