3

一个场景,

我在 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 是否在
我知道使用开发者工具的页面上运行。呸!
在标签codescript,代码删除了script标签
代码是匿名的,所以我没有可以在控制台中检查的全局变量,或者
我必须找到的任何地方,如果 JavaScript 创建了任何 DOM 元素,而不使用view-source

4

2 回答 2

2

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

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

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

于 2013-02-21T17:59:49.813 回答
2

“我的问题是——“如果 JavaScript 代码自行删除,我如何才能发现页面上已执行了 JavaScript 代码?”

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


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

你可以搜索代码的副作用,但是可能性的数量实在太多了,可能是脚本没有可见的副作用。

于 2013-02-21T18:06:43.660 回答