JavaScript打印运行代码

时间:2018-03-02 13:39:25

标签: javascript

如何打印已打开页面的所有脚本代码?

所有脚本都在.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>

我从未得到的是实际运行的代码。任何想法如何得到它?我相信浏览器内存中的代码,因为代码正在运行,我可以在检查器中看到它。

1 个答案:

答案 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);