2010-12-12 43 views
1

萤火虫控制台有各种面板,可以跟踪大量的信息。网络小组保持跟踪几乎所有网络流量并报告关于该流量的各种信息,例如,头文件,延迟,请求参数等。我想要做的是从javascript面板以编程方式访问所有这些信息,因为我有一个脚本需要知道是否有请求正在进行。我还没有找到任何有关各种面板如何互操作的文档,或者他们是否了解对方。我需要尽可能使脚本尽可能通用,以便将脚本绑定到页面上的代码是不可取的,因为脚本不会在其他页面上运行,因为像函数名称这样的小怪癖不会相同。Firebug可以检测正在进行的Ajax操作吗?

+0

这个脚本是如何运行在Firebug中的?那是什么意思?剧本从哪里来? – Pointy 2010-12-12 21:36:21

+1

@有点他是直接注入到控制台 – 2010-12-12 21:41:59

+0

@Eric Fortis - 我想是这样,但不清楚这是如何适应与“社会实验”。所以这意味着它基本上就像一个书签?我想我真正的问题是这个“Firebug”执行上下文是什么,它与书签中的代码有什么不同(或者页面中的代码)。 – Pointy 2010-12-12 21:43:48

回答

1

你所要求的是获得对Firebug内部功能的访问,这只有在暴露API时才能实现。据我所知,他们并没有公开一个API到javascript,而不是熟悉的console对象。

但是,他们做的是一个用于firefox插件开发的API。所以你可以创建一个firefox插件,然后扩展萤火虫的Net面板来做你想做的,或者暴露另一个叫做console.net的javascript对象或类似的东西。

这里是一个很好的教程(当然,一个教程系列的一部分),其具体说明如何倾听净小组活动:http://www.softwareishard.com/blog/firebug-tutorial/extending-firebug-net-panel-listener-part-viii/

0

就我所知,真正“知道”有关XMLHttpRequests的唯一方法是在代码中明确地“记住”它们。这就像超时和间隔计时器 - 如果你的代码没有挂在句柄上,它就会丢失。

如果有问题的网页通过jQuery或其他框架来处理所有内容,那么可能会陷入该代码中,并利用所做的任何事情来跟踪Ajax工作,但是到底要怎么做才会依赖于框架。

如果你想更多地解释你想用这种技术实现什么,这可能会有助于你的进步。换句话说,虽然你直接询问的可能不可能,但也许可以找到另一种方式去做任何你想做的事情。

+0

我修改了我的问题以添加更多信息以及我特别想做的事情。基本上我需要从javascript面板访问网络面板。 – davidk01 2010-12-12 23:26:48

+0

那么问题是,从“常规”代码执行的*页*上下文中,所有额外的东西是不可见的。从围栏的XUL一侧,当然就在那里。有可能用Firebug本身来欺骗,看看是否有办法为网络活动面板(例如)编写一些API。 – Pointy 2010-12-12 23:41:50

相关问题