问题描述
这使我不知所措,因此迫切希望开始在Android 5. *中进行测试,所以就这样。
首先,这是我所拥有的:
config.xml
<access origin="*.google.com"/>
<access origin="*.gstatic.com"/>
<access origin="*.googleapis.com"/>
...
<plugin name="cordova-plugin-whitelist" version="1" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
index.html
<head>
...
<meta http-equiv="Content-Security-Policy"
content="default-src 'self' https://*.google.com; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
<meta http-equiv="Content-Security-Policy"
content="default-src 'self' https://*.gstatic.com; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
<meta http-equiv="Content-Security-Policy"
content="default-src 'self' https://*.googleapis.com; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
我发现描述了相同的问题,并尝试合并找到的建议以及其他建议,但均未成功。
为了更具体地解决此问题,我尝试允许的资源是Google Maps V3。 我确定我会遗漏一些小东西,将不胜感激,甚至是一个简单的建议。
谢谢!
更新1
@Fido很好发现,但不幸的是,事实证明这并不是唯一的问题。 我现在使用的是记录的PhoneGap插件,并以此替换了config.xml ,但没有任何改善。 我注意到的有趣的是,该插件未显示为在项目的插件摘要中使用(我现在发现它存在)。 因此,我想说的是尽管有文档,但它仍然无法按照它的描述提取资源。
我会给任何人一个提出任何其他建议的机会,但是最终我可能不得不硬着头皮按照Fido的建议进行本地构建。
更新2
事实证明,我没有将config.xml正确地推送到存储库中,因此现在反映出我正在使用的 ,但并没有帮助。 在构建本地版本并使用其他建议的插件之前,我将查看周围是否有任何插件。
更新3
好消息; 我可以从指定同一插件的NPM软件包:
<gap:plugin name="cordova-plugin-whitelist" version="1.0.0" source="npm" />
就我所能收集到的来说,它是您建议使用的镜像@Fido(如果我输入错了,请纠正我),但是问题仍然存在; 我只能想象这是我的起源,允许意图或Content-Security-Policy定义不正确。
谢谢!
1楼
使用Cordova 4.0或更高版本时,您需要添加插件才能使白名单更加有效。
在您的情况下,由于您正在使用phonegap构建平台,因此此行:
<plugin name="cordova-plugin-whitelist" version="1" />
实际上应该是这样的:
<gap:plugin name="cordova-plugin-whitelist" version="1" />
如果证明云服务太有限,则可以使用CLI安装cordova插件,然后在本地构建和部署。 有关此方法的更多信息,请参见 。 这种方法需要更多的设置工作(例如获取android sdk),但从长远来看,使开发更快。