一个场景,
我在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
以外的任何其他内容?
编辑:
让我澄清一下。有人请解释一下downvote
我正在运行一个测试用例,需要查找JavaScript是否在页面上运行
我知道使用开发者工具。呃!
code
位于script
标记中,代码删除了script
标记
代码是匿名的,所以没有我可以在控制台或任何地方检查的全局变量
我必须找到JavaScript是否创建了任何DOM元素,而不使用view-source
答案 0 :(得分:2)
Chrome或IE等浏览器都有开发人员工具,可以(几乎)告诉您有关您网页的所有信息。只需激活工具并观察页面加载。
如果您想知道脚本的功能,您还可以执行导航到其地址:http://theirSite/main.js
注意:脚本没有自行删除,只是删除了加载它的节点。
答案 1 :(得分:2)
“我在一行中提出的问题是 - ”我如何找到一个JavaScript代码已在页面上执行,如果该代码自行删除“。
如果脚本从DOM中删除了自己,则无法找不到...因为它不存在...因为它已被删除。
要解决更新的问题和评论,除了对页面发出XHR请求并分析收到的内容之外,没有任何方法可以安全地检测脚本是否运行然后自行删除。
您可以搜索代码的副作用,但可能性的数量实在太大了,可能是脚本没有明显的副作用。