拒绝加载脚本,因为它违反了以下内容安全策略指令

嗨,当我试图将我的应用程序部署到5.0.0以上的Android系统的设备,我不断收到这样的错误消息:

07-03 18:39:21.621:D / SystemWebChromeClient(9132):file:///android_asset/www/index.html:第0行:拒绝加载脚本“ http:// xxxxx ”,因为它违反了以下内容安全策略指令:“script-src”self“'unsafe-eval''unsafe-inline'”。 07-03 18:39:21.621:I / chromium(9132):[INFO:CONSOLE(0)]“拒绝加载脚本' http:// xxx ',因为它违反了以下内容安全策略指令:”script- src'self''unsafe-eval''unsafe-inline'“。

但是,如果我将其部署到安卓系统为4.4.x的移动设备,安全策略将使用默认策略:

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

然后我想,也许我应该改变成这样的东西:

 <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-eval' 'unsafe-inline'; object-src 'self'; style-src 'self' 'unsafe-inline'; media-src *"> 

基本上,这两个选项不适合我。 有没有人知道如何解决这个问题?

谢谢!

  • Phonegap - 自动包括正确的cordova
  • android / iphone单击以在HTML中调用
  • Galaxy Nexus忽略视口元标记
  • 如何使用白名单配置Cordova-android 4.0
  • Phonegap 3 - 警报,如果我点击确定崩溃的浏览器
  • 带有IFrames Chrome 63的Android Cordova App无请求标题Cookie
  • 放大android的phonegap
  • 将特定版本Github项目的插件添加到Cordova项目中
  • 尝试用下面的代码replace您的元标记:

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

    或者,除了你所拥有的,你应该添加http://*style-srcscript-src

    由MagngooSasa给出的自动回答做了诀窍,但对于试图了解答案的任何人,这里是一些更多的细节:

    使用Visual Studio开发Cordova应用程序时,我尝试导入远程JavaScript文件[位于http://guess.What.com/MyScript.js%5D ,但在标题中提到了错误。

    这是项目的index.html文件中的元标记BEFORE

     <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 *"> 

    这里是CORRECTED元标记,允许导入一个远程脚本:

     <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 *;**script-src 'self' http://onlineerp.solution.quebec 'unsafe-inline' 'unsafe-eval';** "> 

    没有更多的错误!

    解决了

     script-src 'self' http://xxxx 'unsafe-inline' 'unsafe-eval'; 

    详细说明一下这个添加

     script-src 'self' http://somedomain 'unsafe-inline' 'unsafe-eval'; 

    像这样的meta标签

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

    修复错误

    我们使用这个:

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