使用符合内容安全策略的代码替换多个内联按钮onclick事件处理程序

时间:2015-12-09 18:40:01

标签: javascript html content-security-policy

我是内容安全政策的新手。我最近在我的webapp中启用了它: 我有一个JSP,我有多个按钮,每个按钮都有不同的动作,我正在用JS的onClick事件处理不同的按钮动作,但是CSP不允许像这样使用内联JS。

以下是我的按钮:

<button type="submit"     
onclick="form.action='${pageContext.request.contextPath}/product/edit'"    
class="sbmt_bt"><fmt:message key="save" /></button>

<button type="submit"    
onclick="form.action='${pageContext.request.contextPath}/product/delete';   
return confirm('${deleteAlert}')" class="sbmt_bt"><fmt:message key="delete"    
/></button>

<button type="submit"  
onclick="form.action='${pageContext.request.contextPath}/product/add'"   
class="sbmt_bt"><fmt:message key="add" /></button>

对于CSP合规的替代方案是什么?

1 个答案:

答案 0 :(得分:1)

This应该是一个很好的起点。正如您在示例中所看到的,您将不得不创建一个单独的JavaScript文件,将onclick-listener的代码放在那里,并在您的html文件中引用JavaScript文件。