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



我是内容安全策略的新手。我最近在我的网络应用程序中启用了它:我有一个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的替代方案?

这对您来说应该是一个很好的起点。正如您在示例中看到的,您必须创建一个单独的JavaScript文件,将onclick监听器中的代码放在那里,并在html文件中引用JavaScript文件。

最新更新