如何捕获被调用的Javascript函数?

Nic*_*Nic 7 jquery firebug cognos

我正在使用COGNOS,这是一个非常令人沮丧的BI应用程序,它严重依赖于Javascript.基本上,当一个<select>盒子改变时,屏幕上的数据会刷新,大概是通过AJAX函数或类似的东西.我想使用jQuery强制进行此更改,但我不确定如何拦截它正在进行的调用,以便我可以复制它.还有一公吨的JS代码,因此很难手工找到.

有没有办法使用Firebug来显示被调用的不同函数?我的方法是否正确?

T.J*_*der 12

如果您打开Firebug Script面板,左上方会有一个看起来像电视遥控器上的暂停按钮的按钮:||.这告诉Firebug暂停运行的下一部分JavaScript.所以我打开页面,确保启用了" 脚本"面板,单击该按钮,然后更改select框.这应该会在Firebug中触发一个断点,之后你可以逐步执行代码来弄清楚什么时候被调用.

或者,如果您不介意使用其他工具,Google Chrome会有一个内置的调试器和检查器,可以显示附加到元素的事件处理程序.因此,在Chrome中,如果您调出页面,请右键单击该select框并选择" 检查元素",然后在底部的右侧,应该有一个附加到其上的事件处理程序列表.这可能更容易使用.

最后,在任何一种工具,如果你能确定这实际上造成数据重装胆量的码位(通过寻找一个URL,例如,或者一个XmlHTTPRequest实例或jQuery的.ajax,.post,.get,或.getJSON功能,如果它使用jQuery)你可以在它上面放一个断点,然后触发select,然后查看调用堆栈(在两个工具的右侧).

祝好运!