我正试图在HTML/EJS页面的外部文件中运行javascript。代码如下:
<body onload="initialize()">
//HTML content
<script src="/public/js/gallery.js"</script>
</body>
";initialize(("函数位于";gallery.js"文件问题是,我不断收到一个错误,上面写着:
"拒绝执行内联脚本,因为它违反了以下内容安全策略指令:;script src"self";。启用内联执行需要"unsafe inline"关键字、哈希('sa256-tPMkUWbNPBXQQ3rlbPhILb35szR89eQb3Z41bzLr+wQ='(或nonce('none-…'(">
我在我的";头部;标签。这些包括"<元内容安全策略:script src"self"unsafe inline"gt&"内容安全策略:script src"self",以及";meta-http-equiv=";内容安全策略content=script src";。。。
这太让人抓狂了。。。我花了几个小时试图纠正这个问题。有人能解释一下问题是什么吗。。。???我提前感谢你。当做
"gallery.js"文件如下所示:
addEventListener("load", initialize);
function initialize() {
//do stuff
}
通过禁用禁止内联脚本的CSP规则来解决这个问题不是一个好主意。内联脚本是XSS攻击的主要载体。
相反,删除内联脚本,并将等效功能放在.js
文件本身中。
从HTML中删除onload="initialize()"
。
将addEventListener("load", initialize)
添加到JS中。