在cordova版本5上开发应用程序(使用phonegap框架)。最新更新请求您根据其文档使用Content-Security-Policy元标记:https://github.com/apache/cordova-plugin-whitelist
这是我的应用标签:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.example.com">
当我包含这个时,一切正常,除了console.log消息在运行&#34; phonegap serve&#34;时不会被推送到终端。 (使用预装在您设备上的应用程序提供给您的应用程序的工具)。
但是,如果我从我的代码中删除了标签,那么console.log消息会被正确推送到终端,但我无法再向我的example.com域发送数据请求。
我使用http://content-security-policy.com/作为指南尝试了许多差异,但我无法正常使用它。
注意:这是cordova v5中的一个新设施,因为之前这一切都没有问题。
答案 0 :(得分:7)
以下是Content-Security-Policy
中我的设置示例。我在制作中没有*
,但后来我用*
替换了所有接受的位置。
此外,我还需要为IOS平台添加gap://ready
。不太确定为什么需要,但是当我在IOS上调试时,我发现它在gap://ready
上引发了错误。
<meta http-equiv="Content-Security-Policy" content="default-src 'self' * gap://ready; style-src 'self' 'unsafe-inline' *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *">
上面的行显示我的console.log()
消息。