我需要知道按下按钮时文件中调用了哪个 JavaScript 函数。我的问题是我有一个非常大的 JavaScript 文件,但我没有任何相关文档。我想知道是否有任何方法可以在 Chrome 开发人员工具上仅为该特定文件启用事件观察器,这样当我单击按钮时,它会告诉我该巨型文件上调用了哪个函数。
到目前为止,我已经能够使用“全局监听器”选项卡来监视鼠标单击事件,但是这会将我带到 jquery-(version).js,而这实际上并没有带我到任何地方。
我猜这类似于在该文件的每一行上设置断点,但由于文件的大小,我无法真正做到这一点。
答案1
根据您问题的性质,我假设所讨论的巨型 Javascript 文件已被最小化或以其他方式混淆,从而导致语义搜索变得困难(即按 ctrl+f 在文件中搜索“onClick”之类的关键字)。
我不确定是否有任何特别简洁的方法可以做到这一点。我认为最好的办法是使用 Chrome 调试器的事件侦听器断点来逐步检查所有点击侦听器,直到找到一个调用您文件的侦听器。
- 打开事件侦听器断点在 Chrome 调试器中,打开老鼠 部分,然后你检查点击。这会将断点附加到 DOM 中的所有 js 点击事件监听器(因此在隐身窗口中执行此操作或禁用任何具有点击监听器的扩展可能会很有用)。
- 当断点触发时,单击“恢复”按钮,直到您正在调查的文件内触发断点。
- 如果您的文件始终未显示,那么您可能要面临一些困难。触发另一次点击,现在开始进入回调,看看其中是否有任何回调最终进入您的文件。
- 如果给定的回调看起来不太有希望,请不要深入研究。如果需要,您可以返回。进行一些相对较浅的传递(即,仅深入研究每个回调中的几个函数)以消除不太可能的线索。
- 将任何库回调(JQuery、Kefir 等)作为最后要调查的事情,因为它们通常是最深层的,而且通常只是工作中的内部逻辑。
- 如果你进入后仍然没有找到任何东西点击回调,你可以尝试在鼠标按下或者鼠标悬停