我对使用Play的内容安全策略有疑问!框架(2.6).
我已经为项目添加了一个外部库来绘制图表,javascript文件在项目中,图表渲染得很好.
我遇到的问题是我的控制台左右喷出错误.这是我不断得到的错误:
拒绝应用内联样式,因为它违反了以下内容安全策略指令:"style-src'self'".要么是'unsafe-inline'关键字,要么是哈希('sha256-GPjBVmsZjSEoackW5SF7HKgSHcUUBqf1/TJwOl3Co7Y ='),要么是nonce('nonce -...')来启用内联执行.
在搜索如何解决这个问题的过程中,我遇到了一些内容,例如在HTML中包含一个元标记,它在Play中没有做任何事情.我也尝试将ContentSecurityHeader放在application.conf中,如下所述:https: //www.playframework.com/documentation/2.6.x/SecurityHeaders 这也没用.在开发我的项目时,我也遇到了关于default-src'self'的错误,我认为它将是相同类型的修复,而且它与配置有关,我没有做对.
如果有人不得不做这种类型的配置,我会喜欢关于如何正确配置我的应用程序的一些指示.
提前致谢!
configuration playframework content-security-policy playframework-2.6
所以我尝试了一些事情,但并没有真正取得任何进展。经过广泛的谷歌搜索,我决定向 SO 中的大师寻求帮助。
想法:在单击按钮时复制下拉列表和输入字段(可以是任意次数)
解决方案: JavaScript 单击侦听器,获取现有 div 的副本并创建一个新的 div。
问题:当使用下拉列表和输入字段克隆 div 时,JavaScript 代码不会更改子元素的 ID,从而使下拉列表无法使用(它们可以交互,但我不能使用它们的数据)。
HTML:
<div id="row-container">
<div id="profile-row0">
<select id="select-item0" class="selectpicker" data-live-search="true">
<option>id</option>
<option>email</option>
<option>phone</option>
</select>
<input id="select-item-value0" class="select-item-value" placeholder="Item value"/>
</div>
</div>
<button id="add-button"> GO </button>
Run Code Online (Sandbox Code Playgroud)
JS:
document.getElementById("add-button").addEventListener("click", addItemRow);
var i = 0;
function addItemRow(){
var original = document.getElementById('profile-row' + i);
var clone = original.cloneNode(true);
clone.id = "profile-row" + ++i;
//clone.firstChild.id = "select-item" + ++i;
//clone.lastChild.id = "select-item-value" + ++i; …Run Code Online (Sandbox Code Playgroud)