Content-Security-Policy打破console.log输出

时间:2015-06-16 12:10:30

标签: javascript cordova console.log content-security-policy

在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中的一个新设施,因为之前这一切都没有问题。

1 个答案:

答案 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()消息。