highcharts 如何在Highchart饼图工具提示中绑定事件而不干扰内容安全策略

tzxcd3kk  于 2023-06-23  发布在  Highcharts
关注(0)|答案(2)|浏览(160)

需要在highchart工具提示中绑定事件。我在High chart -> tooltip -> formatter下提供了一些HTML代码片段,如-x1c 0d1x这与CSP标签-“Unsafe-inline”一起工作很好,这是不推荐的。如果没有CSP标记,则会出现以下错误

谁来帮帮忙

gjmwrych

gjmwrych1#

内容安全策略为内联脚本代码提供了四个选项:
1.使用'unsafe-inline':将允许此脚本,但也允许所有其他脚本,包括XSS
1.使用随机数:不适用于属性,仅适用于脚本/样式标记。
1.使用脚本的散列(如果在内联事件属性上使用,则包括'unsafe-hashes'):由于item.companyId,您的脚本是动态的,并且您需要所有companyId的散列。
1.将脚本移动到从允许位置加载的单独的.js文件中。
你最好的选择是选择4。对元素使用addEventListener('click',someFunction),并让someFunction()方法读取包含companyId的属性。
如果通过将item.companyId移动到脚本可以访问的另一个属性中来使代码静态化,则还可以使用选项3。

23c0lvtd

23c0lvtd2#

您可以将onclick属性添加到允许的AST属性中,如下所示:

Highcharts.AST.allowedAttributes.push('onclick');

Demo:https://stackblitz.com/edit/highcharts-angular-line-avclsa
有关Highcharts安全性的更多信息:https://www.highcharts.com/docs/chart-concepts/security

相关问题