拒绝执行内联事件处理程序,因为它违反了CSP.(沙盒)
Refused to execute inline event handler because it violates CSP. (SANDBOX)
我正在开发一个谷歌chrome打包的应用程序,当我将Sandbox放入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"]
}
}
}
我的锚标记上的onclick
事件是有效的,并且应用程序的流程是完整的,除了CSS样式表中的图标不加载之外。
我从控制台上得到了一个error
File not found
,
但这些只是字体,所以对我来说没问题,
最大的问题是,iframe中的视频没有播放,我在字体之前出现了额外的错误,这些错误是:
VIDEOJS:错误:(代码:4 MEDIA_ERR_SRC_NOT_SUPPORTED)无法加载媒体,原因可能是服务器或网络出现故障,也可能是格式不受支持。
不允许加载本地资源:blob:null/b818b32c-b762-4bd9-。。。
当我删除manifest.json文件中的沙箱时,一切都很好,控制台中没有关于字体的错误,
但是,当我点击/点击我的锚标签时,它有一个点击事件来在js中加载一个新函数,我会得到以下控制台错误:
拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:;默认src"self"blob:filesystem:chrome扩展资源:"。启用内联执行需要"unsafe-inline"关键字、哈希("sa256-…")或nonce("once-…")。还请注意,"script src"未显式设置,因此使用"default src"作为回退。
很抱歉有太长的细节,
我只是需要帮助,因为我已经被困在这里三天了。
非沙箱相关问题的答案:
你的代码中有这样的东西:
<button onclick="myFunction()">Click me</button>
简而言之,这在chrome应用程序和扩展程序中是不允许的。
将其更改为以下内容,它将起作用:
html:
<button id="myButton">Click me</button> <script src="script.js"></script>
script.js:
document.getElementById("myButton").addEventListener("click", myFunction); function myFunction(){ console.log('asd'); }
长话短说:
在chrome应用程序中,内容安全策略不允许内联javascript。因此,您必须将javascript放在.js文件中,并将其包含在HTML中。
进一步阅读:https://developer.chrome.com/extensions/contentSecurityPolicy
- 检测JavaScript是否在沙盒Iframe中执行
- 在沙盒中的服务器上运行 JavaScript 代码
- 在客户端的 IFRAME 中对内容进行沙盒处理
- 如何在节点的沙盒环境中执行用户提交的javascript代码
- 如何CSS沙盒/重置当前页面中的整个DIV区域
- 拒绝执行内联事件处理程序,因为它违反了CSP.(沙盒)
- IFRAME沙盒中的Google OAuth2和应用程序脚本
- 如何在Wysihtml5沙盒编辑器中的光标位置插入文本
- 有没有办法对一些javascript进行沙盒处理,这样它就不能以任何方式将数据发送到服务器
- 如何在 Office 365 加载项中启用允许从沙盒属性顶部导航
- 为什么“@grant随机无效设置”会激活沙盒
- 无法使用沙盒帐户PayPal进行测试
- 在 上拥有沙盒=“允许脚本允许弹出窗口允许同源”是否安全
- 启用MediaWiki沙盒页面编辑而无需用户登录
- 沙盒,用于保护允许用户上传样式的网站
- 如何使用自定义方法和字段扩展沙盒 sinon
- Braintree的沙盒PayPal集成(使用JS和PHP)
- Chrome 中的 SWF 沙盒冲突错误 #2060
- 使用Enter Key Submit从NATIVE转换为IFRAME沙盒
- 从主文档中豁免iframe's CSP沙盒