无法从 HTML/EJS 文件 运行 外部 javascript
Impossible to run external javascript from HTML/EJS file
我正在尝试 运行 javascript 在 HTML/EJS 页面内的外部文件中。代码如下:
<body onload="initialize()">
//HTML content
<script src="/public/js/gallery.js"</script>
</body>
“initialize()”函数位于“gallery.js”文件中。问题是我不断收到错误消息:
“拒绝执行内联脚本,因为它违反了以下内容安全策略指令:”script-src 'self'”。'unsafe-inline' 关键字,散列 ('sha256-tPMkUWbNPBXQQ3rlbFhILb35szR89eQb3Z41bzLr+wQ=') ,或者需要随机数 ('nonce-...') 才能启用内联执行。"
我在页面上的“head”标签中尝试了一些修复尝试。其中包括“、“Content-Security-Policy: script-src 'self'”和“meta http- equiv="content-security-policy content=script-src"...
这太让人抓狂了...我花了好几个小时试图纠正这个问题。有人可以就问题是什么提供一些解释......???我提前谢谢你。问候。
'gallery.js'文件内容如下:
addEventListener("load", initialize);
function initialize() {
//do stuff
}
通过禁用禁止内联脚本的 CSP 规则来解决这个问题并不是一个好主意。内联脚本是 XSS 攻击的主要载体。
相反,删除内联脚本并将等效功能放入 .js
文件本身。
从 HTML 中删除 onload="initialize()"
。
将 addEventListener("load", initialize)
添加到 JS。
我正在尝试 运行 javascript 在 HTML/EJS 页面内的外部文件中。代码如下:
<body onload="initialize()">
//HTML content
<script src="/public/js/gallery.js"</script>
</body>
“initialize()”函数位于“gallery.js”文件中。问题是我不断收到错误消息:
“拒绝执行内联脚本,因为它违反了以下内容安全策略指令:”script-src 'self'”。'unsafe-inline' 关键字,散列 ('sha256-tPMkUWbNPBXQQ3rlbFhILb35szR89eQb3Z41bzLr+wQ=') ,或者需要随机数 ('nonce-...') 才能启用内联执行。"
我在页面上的“head”标签中尝试了一些修复尝试。其中包括“、“Content-Security-Policy: script-src 'self'”和“meta http- equiv="content-security-policy content=script-src"...
这太让人抓狂了...我花了好几个小时试图纠正这个问题。有人可以就问题是什么提供一些解释......???我提前谢谢你。问候。
'gallery.js'文件内容如下:
addEventListener("load", initialize);
function initialize() {
//do stuff
}
通过禁用禁止内联脚本的 CSP 规则来解决这个问题并不是一个好主意。内联脚本是 XSS 攻击的主要载体。
相反,删除内联脚本并将等效功能放入 .js
文件本身。
从 HTML 中删除 onload="initialize()"
。
将 addEventListener("load", initialize)
添加到 JS。