简短背景:我对Javascript很陌生,目前有兴趣根据我的需要定制第三方网站 - 即为Greasemonkey等编写脚本。通常这些网站都充斥着Jquery,Bootstrap等库,这使得更难以弄清楚它们的工作原理。
当我分析一个新网站并想知道执行什么代码时,我可以使用Firebug创建断点或观察点,然后单步执行代码。但是,这对于在网站首次加载时已经运行的代码不起作用。我如何单步执行此部分?基本上我正在寻找一种方法来设置断点,直到第一个Javascript代码执行为止。
如果有比Firebug更好的工具我会全力以赴地寻求建议。请记住,我不控制网站,因此更改网站代码是不可能的。
答案 0 :(得分:0)
如果您足以停止页面的加载事件(通常在该事件之前执行某些代码),您可以执行以下操作:
右键单击'load'事件下的函数(可能是除此之外还有箭头的函数),然后从上下文菜单中选择 Set Breakpoint 。
注意:可能有一个'DOMContentLoaded'事件处理程序,它在'load'事件之前调用。因此,如果存在,请在该函数处设置断点。
如上所述,通常在触发'load'事件之前已经执行了一些代码,比如库被加载或者一些全局变量被初始化。虽然据我所知,Firebug(或其他浏览器开发人员工具)中没有选项可以在第一个执行的JavaScript语句中停止脚本执行。 但通常在这条线上设置断点通常很容易。它只需要一些手动搜索:
<script>
元素中选择脚本。