- 浏览: 932986 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (251)
- WebService (17)
- IBatis (22)
- Hibernate (1)
- SpringMVC - 基础篇 (32)
- Spring (15)
- Java (11)
- JVM及调优 - 基础篇 (4)
- 集群 (14)
- 数据库 (17)
- WebSphere (5)
- 多线程 (4)
- 集合、容器 (2)
- DB Pool (1)
- Power Designer (5)
- Maven基础 (5)
- JS (14)
- WEB 前端 (5)
- 实用小工具 (17)
- 社会、人 (2)
- 乱七八糟 (18)
- ASM&CGLIB - 基础篇 (12)
- 缓存 (1)
- 性能 (1)
- 设计之殇 (1)
- 分布式事务 (1)
- 单点登录 (11)
- 分布式 Session (4)
- Memcached - 基础篇 (6)
最新评论
-
一笑_奈何:
楼主写的还真行不错。
扫盲贴 - J2EE集群之JNDI集群实现 -
xuezhongyu01:
博主写的很详细,但最后还是没明白,最后调用BasicDataS ...
Spring中的destroy-method方法 -
Mr梁:
commons-fileupload.jar commons- ...
SpringMVC 中文件上传 MultipartResolver -
Eywa:
总结的很不错
ORACLE CASE WHEN 及 SELECT CASE WHEN的用法 -
TryRelax:
fastjson 比 jackson 好用吧?
Spring MVC Jackson DateFormat
使用FireBug有一段时间,感觉对其了解太过于肤浅和使用过于简单。在网上找点资料,记录以备查阅!
在安装好插件之后,先用Firefox浏览器打开需要测试的页面,然后点击右下方的绿色按钮或使用快捷键F12唤出Firebug插件,它会将当前页面分成上下两个框架,如图1所示。
图1:Firebug插件展开图示
从图1中看到,Firebug有6个主要的Tab按钮,下文将主要介绍介绍这几方面的功能。
Console | HTML | CSS | Script | Dom | Net |
控制台 | Html查看器 | Css查看器 | 脚本条时期 | Dom查看器 | 网络状况监视 |
一、Console 控制台
控制台能够显示当前页面中的javascript错误以及警告,并提示出错的文件和行号,方便调试,这些错误提示比起浏览器本身提供的错误提示更加详细且具有参考价值。而且在调试Ajax应用的时候也是特别有用,你能够在控制台里看到每一个XMLHttpRequests请求post出去的参数、URL,http头以及回馈的内容,原本似乎在幕后黑匣子里运作的程序被清清楚楚地展示在你面前。
象C shell或Python shell一样,你还能在控制台中查看变量内容,直接运行javascript语句,就算是大段的javascript程序也能够正确运行并拿到运行期的信息。
Firebug内置一个console对象,提供5种方法,用来显示信息。
分别是
1)、console.log(),可以用来取代alert()或document.write()。比如,在网页脚本中使 用console.log("Hello World"),加载时控制台就会自动显示如下内容。
2)、一般信息console.info()、
3)、除错信息console.debug()、
4)、警告提示console.warn()、
5)、错误提示console.error()。
控制台还有个重要的作用就是查看脚本的log, 从前你也许习惯了使用alert来打印变量,但是Firebug给我们带来了一个新朋友 —— console.log, 最简单的打印日志的语法是这样的:
console.log("hello world")
如果你有一堆参数需要组合在一起输出,可以写成这样:
console.log(2,4,6,8,"foo",bar).
Firebug的日志输出有多种可选的格式以及语法,甚至可以定制彩色输出,比起单调的alert,显然更加方便,
图2: 在控制台里调试javascript
二、查看和修改HTML
第一次看到Firebug强大的HTML代码查看器,就觉得它与众不同,相比于Firefox自带的HTML查看器,它的功能强大了许多。
HTML首先你看到的是已经经过格式化的HTML代码,它有清晰的层次,你能够方便地分辨出每一个标签之间的从属并行关系,标签的折叠功能能够帮助你集中精力分析代码。
源代码上方还标记出了DOM的层次,如图3所示,它清楚地列出了一个hml元素的parent、child以及root元素,配合Firebug自带的CSS查看器使用,会给div+css页面分析编写带来很大的好处。你还可以在HTML查看器中直接修改HTML源代码,并在浏览器中第一时间看到修改后的效果,光凭这一点就会让许多页面设计师死心塌地地成为Firebug的粉丝了。
有时候页面中的javascript会根据用户的动作如鼠标的onmouseover来动态改变一些HTML元素的样式表或背景色,HTML查看器会将页面上改变的内容也抓下来,并以黄色高亮标记,让网页的暗箱操作彻底成为历史。
利用Inspect检查功能,我们还可以用鼠标在页面中直接选择一些区块,查看相应的HTML源代码和CSS样式表,真正的做到所见即所得,如果你使用了外部编辑器修改了当前网页,可以点击Firebug的reload图片重新载入网页,它会继续跟踪你之前用Inspect选中的区块,方便调试。
图3::HTML查看器
三、CSS调试
Firebug的CSS调试器是专为网页设计师们量身定做的。
如今的网页设计言必称div+css,如果你是用table套出来的HTML页面,就得按这规矩重构一遍,否则显得你不够时髦!用div做出来的页面的确能精简HTML代码,HTML标签减肥的结果就是CSS样式表的编写成了页面制作的重头戏。Firebug的CSS查看器不仅自下向上列出每一个CSS样式表的从属继承关系,还列出了每一个样式在哪个样式文件中定义。你可以在这个查看器中直接添加、修改、删除一些CSS样式表属性,并在当前页面中直接看到修改后的结果。
一个典型的应用就是页面中的一个区块位置显得有些不太恰当,它需要挪动几个象素。这时候用CSS调试工具可以轻易编辑它的位置——你可以根据需要随意挪动象素。
如图4中正在修改一个区块的背景色。
提示:如果你正在学习CSS样式表的应用,但是总记不住常用的样式表有哪些值,可以尝试在CSS调试器中选中一个样式表属性,然后用上下方向键来改变它的值,它会把可能的值一个个遍历给你看。
图4: CSS查看器,能够直接修改样式表
可视化的CSS尺标
我们可以利用Firebug来查看页面中某一区块的CSS样式表,如果进一步展开右侧Layout tab的话,它会以标尺的形式将当前区块占用的面积清楚地标识出来,精确到象素,更让人惊讶的是,你能够在这个可视化的界面中直接修改各象素的值,页面上区块的位置就会随改动而变化。在页面中某些元素出现错位或者面积超出预料值时,该功能能够提供有效的帮助,你可以籍此分析offset、margin、padding、size之间的关系,从而找出解决问题的办法。
图5:Firebug中的CSS标尺
四、网络状况监视器
也许有一天,你的老板或者客户找到你,抱怨你制作的网页速度奇慢,你该如何应对?你或许会说这可能是网络问题,或者是电脑配置问题,或者是程序太慢,或者直说是他们的人品问题?不管怎么说,最后你可能被要求去解决这个有多种可能的问题。
网络状况监视器能帮你解决这个棘手问题。Firebug的网络监视器同样是功能强大的,它能将页面中的CSS、javascript以及网页中引用的图片载入所消耗的时间以矩状图呈现出来,也许在这里你能一把揪出拖慢了你的网页的元凶,进而对网页进行调优,最后老板满意客户欢喜,你的饭碗也因此而牢固。
网络监视器还有一些其它细节功能,比如预览图片,查看每一个外部文件甚至是xmlHttpRequests请求的http头等等。
图6:网络状况监视器
五、Javascript调试器
这是一个很不错的javascript脚本调试器,占用空间不大,但是单步调试、设置断点、变量查看窗口一个不少。正所谓麻雀虽小,五脏俱全。
如果你有一个网站已经建成,然而它的javascript有性能上的问题或者不是太完美,可以通过面板上的Profile来统计每段脚本运行的时间,查看到底是哪些语句执行时间过长,一步步排除问题。
图7:javascript调试器
六、DOM查看器
DOM(Document Object Model)里头包含了大量的Object以及函数、事件,在从前,你要想从中查到需要的内容,绝非易事,这好比你去了一个巨大的图书馆,想要找到几本名字不太确切的小书,众多的选择会让你无所适从。而使用Firebug的DOM查看器却能方便地浏览DOM的内部结构,帮助你快速定位DOM对象。双击一个DOM对象,就能够编辑它的变量或值,编辑的同时,你可能会发现它还有自动完成功能,当你输入document.get之后,按下tab键就能补齐为document.getElementById,非常方便。如果你认为补齐得不够理想,按下shift+tab又会恢复原状。用了Firebug的DOM查看器,你的javascript从此找到了驱使的对象,Web开发也许就成了一件乐事。
图8: Dom查看器
七、console.trace()
console.trace()用来追踪函数的调用轨迹。
比如,有一个加法器函数。
function add(a,b){
return a+b;
}
我想知道这个函数是如何被调用的,在其中加入console.trace()方法就可以了。
function add(a,b){
console.trace();
return a+b;
}
假定这个函数的调用代码如下:
var x = add3(1,1);
function add3(a,b){return add2(a,b);}
function add2(a,b){return add1(a,b);}
function add1(a,b){return add(a,b);}
运行后,会显示add()的调用轨迹,从上到下依次为add()、add1()、add2()、add3()。
八、计时功能
console.time()和console.timeEnd(),用来显示代码的运行时间。
console.time("计时器一");
for(var i=0;i<1000;i++){ for(var j=0;j<1000;j++){} } console.timeEnd("计时器一");
九、性能分析
性能分析(Profiler)就是分析程序各个部分的运行时间,找出瓶颈所在,使用的方法是console.profile()。
假定有一个函数Foo(),里面调用了另外两个函数funcA()和funcB(),其中funcA()调用10次,funcB()调用1次。
function Foo(){
for(var i=0;i<10;i++){funcA(1000);}
funcB(10000);
}
function funcA(count){
for(var i=0;i<count;i++){}
}
function funcB(count){
for(var i=0;i<count;i++){}
}
然后,就可以分析Foo()的运行性能了。
console.profile('性能分析器一');
Foo();
console.profileEnd();
控制台会显示一张性能分析表,如下图。
标题栏提示,一共运行了12个函数,共耗时2.656毫秒。其中funcA()运行10次,耗时1.391毫秒,最短运行时间0.123毫秒,最长0.284毫秒,平均0.139毫秒;funcB()运行1次,耗时1.229ms毫秒。
除了使用console.profile()方法,firebug还提供了一个"概况"(Profiler)按钮。第一次点击该按钮,"性能分析"开始,你可以对网页进行某种操作(比如ajax操作),然后第二次点击该按钮,"性能分析"结束,该操作引发的所有运算就会进行性能分析。
小结
Firebug插件提供了一整套web开发所必需的工具。从HTML的编写,到CSS样式表的美化调优,以及用javascript脚本开发,亦或是Ajax应用,Firebug插件都会成为你的得力助手。所谓工欲善其事,必先利其器。在Web2.0的时代,言必称Ajax,动辄就是用户体验提升,如果把Firebug工具用好,必能让你如虎添翼,将HTML、CSS、javascript整理得服服帖帖,从此成为web开发中的专家级人物。
发表评论
-
Eclipse 3.7手工安装Maven2的插件(包含POM图形编辑工具)
2013-05-13 13:35 756转载:http://www.micmiu.com/soft ... -
HttpRequester
2013-04-09 21:10 2602This tool is useful when doing ... -
Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules
2013-03-06 15:21 872在用Eclipse部署项目时,有时候会出现如下问题: ... -
Code Review感想
2012-05-27 14:56 986我们都知道CodeReview的好处: Code revi ... -
Code Review工具
2012-05-27 14:28 1712Code Review中文应该译作“代码审查”或是“代码评审” ... -
代码审查的必要性和误区
2012-05-27 11:23 1028转载:http://www.iteye.com/news/22 ... -
Page Speed
2012-01-30 17:00 1134一、一段来自Google Code的话: 什么是 ... -
Eclipse3.7+Jetty 热部署
2011-11-25 22:07 70131、Jrebel介绍: 我们通常做WEB开发的时候经常 ... -
SoapUI简单实用
2011-11-24 16:02 1168真是邪恶的编辑器,好不容易在word中敲了那么多,图片 ... -
Eclipse debug调试
2011-11-22 21:09 771以前只用过简单的debug,看到下面的文章 http: ... -
解决MyEclipse不能自动提示代码的功能
2011-10-06 14:58 2720今天突然MyEclipse不能自 ... -
在eclipse里卸载已安装的插件
2011-08-28 16:56 28321.到plugins和features目录中找到你要卸载的插件 ... -
eclipse插件
2011-07-05 09:26 586Properties Editor Proper ... -
Firebug插件:Illuminations for Developers
2011-06-11 02:32 949Illuminations for Developer ... -
Eclipse插件 FatJar 打包jar可运行的jar文件
2011-06-04 23:34 2029转载: http://yekui.iteye.com/blo ... -
很实用的Eclipse小工具——Easy Explore和Explore FS
2011-05-25 23:39 15581、Easy Explore 是一个用于在Eclips ...
相关推荐
- 提供了对Service Worker的初步支持,为Web应用程序的离线功能调试打下基础。 6. Firebug 1.12: - 进一步优化了性能,减少了Firebug本身对浏览器性能的影响。 - 对Shadow DOM的支持使得开发者可以更好地调试...
Firebug是一款著名的网页开发者工具,尤其在Web开发和调试领域有着广泛的使用。它作为一个扩展,适用于Mozilla Firefox浏览器,提供了一套全面的工具,允许开发者查看、编辑和测试HTML、CSS、JavaScript以及网络请求...
firebug的介绍和使用基础 从事了数年的Web开发工作,越来越觉得现在对WEB开发有了更高的要求。要写出漂亮的HTML代码;要编写精致的CSS样式表展示每个页面模块;要调试javascript给页面增加一些更活泼的要素;要使用...
Firebug作为早期Web开发的必备工具,为后来的开发者工具如Chrome DevTools奠定了基础。虽然现在已经被Firefox的内置开发工具所替代,但其在Web开发历史上的地位不容忽视,Firebug 1.2中文版更是为中文开发者提供了...
这些现代工具在保持Firebug原有功能的基础上,增加了更多的特性,如性能分析、移动设备模拟、无障碍功能检查等,进一步提升了开发者的工作效率。 总结来说,Firebug作为一款里程碑式的Web开发工具,它的设计理念和...
总的来说,"firebug-1.9.0-fx"代表的是Web开发历史上一个关键的工具,它的出现推动了前端开发技术的进步,也为后来的浏览器内建开发者工具奠定了基础。对于那些想要了解Web开发早期工具或者学习经典调试技巧的人来说...
Firebug,作为一款曾经在网页开发者中广泛使用的开源工具,是Firefox浏览器的一个插件,它为前端开发人员提供了强大的网页元素检查、调试和性能分析功能。Firebug 1.5的正式发布,标志着这一工具在功能和稳定性上...
然而,理解 Firebug 的历史和功能仍然是有价值的,因为它奠定了现代浏览器开发者工具的基础,对于学习 Web 开发的历史和技术演进有重要意义。同时,如果你在维护一些老项目或使用旧版浏览器,了解 Firebug 可能会...
Firepath是一个与Firebug配套使用的XPath工具,它能够帮助开发者方便地查找和测试XPath表达式,这对于基于XML路径语言(XPath)来选择HTML元素进行自动化测试或脚本编写极其有用。 XPath是一种在XML文档中查找信息...
标题“firefox12+firebug”暗示我们讨论的是Firefox 12版本的浏览器与Firebug的结合使用。...尽管现在有许多更先进的开发者工具,但Firebug在Web开发史上的地位不可忽视,它为现代浏览器内置开发者工具奠定了基础。
Firebug是一款著名的JavaScript调试工具,曾经是Web开发者必备的浏览器扩展,特别在Firefox浏览器中,它为...深入研究这些源代码,可以提高对Web标准的理解,增强解决问题的能力,并为未来的开发工作打下坚实的基础。
虽然Firebug后来的版本提供了更多功能,但1.0版本的经典地位不可动摇,它奠定了现代浏览器开发者工具的基础。随着Firefox内建开发者工具的逐步完善,独立的Firebug插件逐渐淡出舞台,但其对Web开发的贡献和影响深远...
除了基础的JavaScript调试, Firebug还支持与其他Firefox扩展集成,例如“javascript_debugger”扩展,提供了更高级的功能,如跨浏览器兼容性检查,这在多浏览器环境下尤为重要。例如,文件名中提到的“javascript_...
版本35.0.1在此基础上进一步优化了性能,提升了浏览体验,并支持更多的Web技术,使得开发者可以更高效地进行网页开发和调试。 接着,我们谈论的是Firebug插件,这是一个集成在Firefox中的网页开发和调试工具。...
- 开发者编写PHP代码,保存到Apache服务器的文档根目录下,然后通过Firefox浏览并使用Firebug进行实时调试。 这个环境特别适合初学者和专业开发者,因为它提供了从开发到调试的一站式解决方案。然而,随着技术的...
总之,处理"Firefox Firebug JS错误"需要了解JavaScript的基础知识,熟悉Firebug的使用,以及对浏览器兼容性的理解。同时,保持软件更新和使用良好的编程实践也是避免错误的关键。当遇到问题时,不要害怕使用调试...
尽管现代浏览器内置的开发者工具在很多方面已经超越了Firebug,但对于学习网页开发历史和理解前端调试基础的初学者来说,Firebug仍具有很高的学习价值。 总的来说,Firebug 1.05是Firefox历史上的一座里程碑,它的...
《Firebug 1.10.0a6:Web开发者的超级工具》 ...即使在当前,尽管许多功能已经被现代浏览器内置的开发者工具所取代,但Firebug的历史地位和它所奠定的Web开发调试基础,依然值得我们去了解和学习。
总之,Firebug与Firefox 3.0.1的组合是早期Web开发者的理想工具,它们共同塑造了现代前端开发的许多基础实践。虽然现在有新的替代工具,但理解Firebug的历史和功能可以帮助我们更好地理解Web开发的历程。