Javascript如何找到导致特定UI事件的函数调用?

时间:2010-09-28 05:51:46

标签: javascript debugging reverse-engineering

我想找出触发事件的原因。即this site stackoverflow.com上的通知栏(告诉您何时有人发布了您正在撰写答案的问题答案的栏。它从顶部缓慢向下滚动,为用户通知提供了非常好的用户界面我已经看到它几乎可以用于任何页面。

我想它有用(我需要找到它的名字):

special_notification( message );

在摘要中,我如何找出调用(函数名称和参数)看起来像什么,当所有的javascript被缩小时产生该效果,并且我不知道包含它提供了什么。

2 个答案:

答案 0 :(得分:0)

要阅读缩小的js,您可以使用http://jsbeautifier.org等工具。

关于您的其他问题,您希望收听页面上的所有事件并知道触发它们的内容以及执行的代码是什么?那是对的吗?

<强>更新

无法听取所有事件。如果你真的需要,你可以为每个事件设置监听器,但你仍然会错过自定义事件,我想这就是你所追求的。

我建议您使用Firebug检查代码,以了解每种情况下如何使用事件。

您还可以在jQuery中收听所有 DOM事件:

$('body').bind('DOMSubtreeModified', function(e){
  console.log('DOMSubtreeModified triggered');
  console.log(e); //Firebug console.
});

e将保存活动信息。

希望这是有道理的。

答案 1 :(得分:0)

  1. 在Firefox中下载并安装firebug。
  2. 转到您感兴趣的网址,然后打开firebug。您可能需要重新加载页面。
  3. 现在点击萤火虫右上角的小箭头图标。这将允许您突出显示页面上的任何元素,并为该元素提供相应的HTML。
  4. 现在您已拥有该元素的ID,您应该能够在javascript代码中找到它。即使它被缩小,名称也需要与DOM名称相对应。