一个场景

我在DOM中有一个script元素

该脚本在页面上执行了“操作”,然后删除了自己

<script type="text/javascript" id="the-javascript">
(function (d){

    var ...,
        script = d.getElementById('the-javascript'),
        ...;

    // lotsa code !!

    script.parentNode.removeChild(script);

}(document));
</script>

这是一个匿名IIFE(立即调用函数执行)
我怎么知道页面上执行了JavaScript。卡在一个我必须找到的场景中。

除了view-source以外的其他东西吗?

编辑:

让我澄清一下。有人请解释一下
我正在运行一个测试用例,它需要查找页面上是否运行了JavaScript
我知道使用开发人员工具。 h!codescript标记中,并且该代码删除了script标记
该代码是匿名的,因此没有可以在控制台中或任何地方检查的全局变量
我必须查找JavaScript是否在不使用view-source的情况下创建了任何DOM元素

最佳答案



如果脚本从DOM中删除了自身,则无法找到它,因为它不存在,因为它已被删除。

为了解决更新的问题和评论,除了对页面提出XHR请求并分析收到的内容外,实际上没有任何方法可以安全地检测脚本是否先运行然后删除了。

您可以搜索代码的副作用,但是可能性真的太多了,并且可能是脚本没有可见的副作用。

关于javascript - JavaScript在页面上运行,但最后删除了它自己的DOM节点。我如何测试它做了什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15009041/

10-09 19:52