JavaScript在页面上运行,但最后删除了自己的DOM节点.我该如何测试它做了什么

JavaScript ran on page, but at the end deleted its own DOM node. How do I test it did something?

本文关键字:何测试 什么 测试 节点 DOM 运行 自己的 删除 最后 JavaScript      更新时间:2023-09-26

一个场景,

我在DOM 中有一个脚本元素

这个脚本在页面上做了一些"事情",然后它删除了自己

<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是否在页面上运行
我知道开发工具的用法。啊
code位于script标记中,代码删除了script标记
代码是匿名的,所以没有全局变量,我可以在控制台或任何地方检查
我必须查找JavaScript是否在不使用view-source 的情况下创建了任何DOM元素

"我在一行中的问题是——"如果一个JavaScript代码自己删除了,我如何发现该代码已经在页面上执行"

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


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

你可以搜索代码的副作用,但可能性太大了,可能是脚本没有明显的副作用。

像Chrome或IE这样的浏览器都有开发工具,可以告诉你(几乎)关于页面的一切。只需激活工具并观察页面加载即可。

如果你想知道脚本的作用,你也可以导航到它的地址:http://theirSite/main.js

注意:脚本没有删除自己,只是删除了加载它的节点。