我正在使用COGNOS,这是一个非常令人沮丧的BI应用程序,它严重依赖于
Javascript.基本上,当< select>框被更改,屏幕上的数据被刷新,可能是通过AJAX函数或类似的东西.我想使用jQuery强制进行此更改,但我不确定如何拦截它正在进行的调用,以便我可以复制它.还有一公吨的JS代码,因此很难手工找到.
解决方法
如果您打开Firebug Script面板,左上方会出现一个看起来像电视遥控器上的暂停按钮的按钮:||.这告诉Firebug暂停运行的下一部分
JavaScript.所以我打开页面,确保启用了“脚本”面板,单击该按钮,然后更改选择框.这应该会在Firebug中触发断点,之后您可以单步执行代码来确定何时调用.
或者,如果您不介意使用其他工具,Google Chrome有一个内置的调试器和检查器,可以显示附加到元素的事件处理程序.因此,在Chrome中,如果您调出页面,请右键单击选择框并选择“检查元素”,然后在底部的右侧,应该有一个附加到其上的事件处理程序列表.这可能更容易使用.
最后,在任一工具中,如果您可以识别实际导致数据重新加载的内核中的代码(例如,通过查找URL,或者XmlHTTPRequest实例,或者jQuery的.ajax,.post,.get,或者.getJSON函数,如果它使用jquery),你可以在其上放置一个断点,然后触发select,然后查看调用堆栈(在两个工具的右侧).
祝好运!