如何打印已打开页面的所有脚本代码?
所有脚本都在.js本地文件中,或通过附加
添加document.body.appendChild(script);
我试图通过var scriptList = document.scripts; 或通过从HTML获取节点来获取它。我得到的只是 HTMLCollection 的对象,脚本数组(没有我需要的代码)或
<body>
<script src="one.js"></script>
<script src="two.js"></script>
<script src="three.js"></script>
<script type="text/javascript".src="https://xxx.js/"></script>
</body>
我从未得到的是实际运行的代码。任何想法如何得到它?我相信浏览器内存中的代码,因为代码正在运行,我可以在检查器中看到它。
答案 0 :(得分:1)
试试这个,现在从src获取代码:
var scriptList = document.scripts;
var code = "";
for (var i = 0; i < scriptList.length; i++) {
var req = new XMLHttpRequest();
req.onload = function () {
code = code + req.responseText;
}
req.open("GET", scriptList[i].src);
req.send();
}
alert(code);