假设我有一个 <script>
在我的 html 中添加一个标记,它会从源代码中加载一些脚本。是否可以以某种方式将此源作为字符串读取(无需直接对 src 执行相同的请求)?关键是要弄清楚是否存在一些需要解决的漏洞,因为例如脚本源可以是 3d 方 API,浏览器很乐意发送身份验证 cookie。
我认为这是不可能的,必须严格禁止,因为否则它可以被用于 CSRF 攻击,轻松窃取敏感数据,但只是想确定一下。
附注这同样适用于例如<img>
标签等
最佳答案
这可以通过 XMLHttpRequest
完成:
window.addEventListener('DOMContentLoaded', function() {
var xhr = new XMLHttpRequest();
var url = 'http://localhost:8081/myscript.js';
xhr.open('GET', url);
xhr.onreadystatechange = function(response) {
if(xhr.readyState === 4 && xhr.status === 200) {
console.log(response.currentTarget.responseText);
}
};
xhr.send();
});
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
关于javascript - 加载脚本或图像标签后是否可以读取其内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50049985/