嗨,当我尝试将我的应用程序部署到Android系统5.0.0以上的设备上时,我不断收到这种错误消息:
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'".
但是,如果我将其部署到Android系统为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 *">
Run Code Online (Sandbox Code Playgroud)
然后我想,也许,我应该改成这样的事情:
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-eval' 'unsafe-inline'; object-src 'self'; style-src 'self' 'unsafe-inline'; media-src *">
Run Code Online (Sandbox Code Playgroud)
基本上,这两个选项对我来说都不适用.有没有人知道如何解决这个问题?
谢谢!
我正在开发一个谷歌Chrome 打包应用程序,当我把沙盒放入manifest.json:
{
"manifest_version": 2,
"name": "WM32216",
"version": "2.1",
"minimum_chrome_version": "23",
"permissions":["webview", "https://ajax.googleapis.com/*"],
"sandbox":{
"pages":["index.html"]
},
"app": {
"background": {
"scripts": ["main.js"]
}
}
}
Run Code Online (Sandbox Code Playgroud)
onclick我的锚标签上的事件有效,应用程序的流程已完成,除此之外,CSS样式表中的图标无法加载.
我error从控制台得到了一个
File not found ,
但那些只是字体所以对我来说很好,
最大的问题是,iframe中的视频无法播放,而且我在Font之前得到了额外的错误:
VIDEOJS:错误:(代码:4 MEDIA_ERR_SRC_NOT_SUPPORTED)无法加载媒体,因为服务器或网络出现故障或者格式不受支持.
不允许加载本地资源:blob:null/b818b32c-b762-4bd9 -...
当我删除manifest.json文件中的沙箱时,一切都很好,控制台中没有关于字体的错误,
但是,当我点击/单击我的锚点标记,其中有一个点击事件在js中加载一个新函数我得到以下控制台错误:
拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:"default-src'self'blob:filesystem:chrome-extension-resource:".要么是'unsafe-inline'关键字,哈希('sha256 -...'),要么是nonce('nonce -...')来启用内联执行.另请注意,'script-src'未显式设置,因此'default-src'用作后备.
很抱歉很长的细节,
我只需要帮助,因为我已经在这里呆了3天了.