Javascript: 如何单步初始化网站?
Javascript: How to single-step site initialization?
简短背景:我是 Javascript 的新手,目前有兴趣根据我的需要定制第三方网站——即为 Greasemonkey 等编写脚本。通常这些网站充斥着像 Jquery、Bootstrap 等库,这使得弄清楚它们究竟是如何工作变得更加困难。
当我分析一个新网站并想知道执行了哪些代码时,我可以使用 Firebug 创建断点或观察点,然后单步执行代码。但是,这不适用于已经运行 while/when 网站首次加载的代码。我怎样才能单步执行这部分?基本上我正在寻找一种方法来在执行第一个 Javascript 代码之前将断点设置到该点。
如果有比 Firebug 更好的工具,我欢迎您提出建议。请记住,我不控制网站,因此更改网站代码是不可能的。
如果您足以在页面的加载事件处停止(通常某些代码会在该事件之前执行),您可以执行以下操作:
- 切换到 HTML 面板,然后切换到 Events 侧面板。
- 向下滚动到说 Window 的其他听众的部分
右键单击 'load' 事件下的函数(旁边可能有一个箭头),然后从上下文中选择 Set Breakpoint菜单。
注意:可能有一个 'DOMContentLoaded' 事件处理程序,它在 'load' 事件之前被调用。因此,如果存在,请在该函数处设置断点。
- 重新加载页面。
这是该菜单的屏幕截图:
如上所述,通常在触发 'load' 事件之前已经执行了一些代码,例如正在加载库或正在初始化一些全局变量。尽管据我所知,Firebug(或其他浏览器开发人员工具)中没有选项可以在第一个执行的 JavaScript 语句处停止脚本执行。
但是在该行设置断点通常还是很容易的。它只需要一些手动搜索:
- 在 Script 面板 select 中,第一个脚本 Inline 来自 Script Location Menu(第三个工具栏左边的按钮)。
- 搜索第一个 JavaScript 行,或者,如果没有内联 JavaScript,select [=23] 的第一个
<script>
元素中的脚本=]脚本位置菜单.
- 在脚本的第一行设置断点。
- 重新加载页面。
简短背景:我是 Javascript 的新手,目前有兴趣根据我的需要定制第三方网站——即为 Greasemonkey 等编写脚本。通常这些网站充斥着像 Jquery、Bootstrap 等库,这使得弄清楚它们究竟是如何工作变得更加困难。
当我分析一个新网站并想知道执行了哪些代码时,我可以使用 Firebug 创建断点或观察点,然后单步执行代码。但是,这不适用于已经运行 while/when 网站首次加载的代码。我怎样才能单步执行这部分?基本上我正在寻找一种方法来在执行第一个 Javascript 代码之前将断点设置到该点。
如果有比 Firebug 更好的工具,我欢迎您提出建议。请记住,我不控制网站,因此更改网站代码是不可能的。
如果您足以在页面的加载事件处停止(通常某些代码会在该事件之前执行),您可以执行以下操作:
- 切换到 HTML 面板,然后切换到 Events 侧面板。
- 向下滚动到说 Window 的其他听众的部分
右键单击 'load' 事件下的函数(旁边可能有一个箭头),然后从上下文中选择 Set Breakpoint菜单。
注意:可能有一个 'DOMContentLoaded' 事件处理程序,它在 'load' 事件之前被调用。因此,如果存在,请在该函数处设置断点。
- 重新加载页面。
这是该菜单的屏幕截图:
如上所述,通常在触发 'load' 事件之前已经执行了一些代码,例如正在加载库或正在初始化一些全局变量。尽管据我所知,Firebug(或其他浏览器开发人员工具)中没有选项可以在第一个执行的 JavaScript 语句处停止脚本执行。 但是在该行设置断点通常还是很容易的。它只需要一些手动搜索:
- 在 Script 面板 select 中,第一个脚本 Inline 来自 Script Location Menu(第三个工具栏左边的按钮)。
- 搜索第一个 JavaScript 行,或者,如果没有内联 JavaScript,select [=23] 的第一个
<script>
元素中的脚本=]脚本位置菜单. - 在脚本的第一行设置断点。
- 重新加载页面。