Cordova的Content-Security-Policy未加载外部脚本和样式表(404错误)

时间:2018-01-09 08:27:10

标签: android cordova content-security-policy

我目前拥有“内容安全政策”#39; Cordova的meta标签设置为:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">

如果我运行Android模拟器,我会看到以下错误:

  

拒绝加载样式表   &#39; https://....min.css&#39;   因为它违反了以下内容安全策略指令:   &#34; style-src&#39; self&#39; &#39;不安全直插&#39;&#34;

如果我更改了内容安全政策&#39;元标记:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://* 'unsafe-eval'; style-src 'self' https://* 'unsafe-inline'; media-src *">

我收到以下错误:

  

无法加载资源:服务器响应状态为404   (未找到)

如何解决此问题,以免出现404错误,并加载远程样式表和脚本?

我100%确定远程文件确实存在。

1 个答案:

答案 0 :(得分:2)

添加到配置.xml:

<access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <platform name="android">
        <allow-intent href="market:*" />
    </platform>

并在index.html中:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'; img-src * data: 'unsafe-inline'; connect-src * 'unsafe-inline'; frame-src *;">
<meta http-equiv="Content-Security-Policy" content="default-src * gap://ready file:; style-src 'self' 'unsafe-inline' *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *">