??xml version="1.0" encoding="utf-8" standalone="yes"?>
从事?jin)数q的Web开发工作,来觉得现在对WEB开发有?jin)更高的要求。要写出漂亮的HTML代码Q要~写_致的CSS样式表展C每个页面模块;要调?a >javascriptl页面增加一些更zL的要素;要用Ajaxl用户带来更好的体验。一个优U的WEB开发h员需要顾?qing)更多层面,才能交出一份同样优U的作业。ؓ(f)帮助q大正处于Web2.0z流中的开发h员,在这里ؓ(f)大家介绍一ƾ轻巧灵zȝ辅助开发工兗?/p>
Firebug是Firefox下的一Ƒּ发类插gQ现属于Firefox的五星强力推荐插g之一。它集HTML查看和编辑、Javascript控制台、网l状늛视器于一体,是开发JavaScript、CSS、HTML和Ajax的得力助手。Firebug如同一把精巧的瑞士军刀Q从各个不同的角度剖析Web面内部的细节层面,lWeb开发者带来很大的便利。这是一ƾ让人爱不释手的插gQ如果你以前没有接触q它Q也许在阅读本文之后Q会(x)有一试的Ʋ望。笔者在撰写此文的时候,正逢Firebug发布1.0正式版,q不能不说是Uy合?br />
Firebug插g虽然功能强大Q但是它已经和Firefox览器无~地l合在一P使用单直观。如果你担心(j)它会(x)占用太多的系l资源,也可以方便地启用/关闭q个插gQ甚至针对特定的站点开启这个插件?/p>
在安装好插g之后Q先用Firefox览器打开需要测试的面Q然后点d下方的绿色按钮或使用快捷键F12唤出Firebug插gQ它?x)将当前面分成上下两个框架Q如?所C?/p>
?QFirebug插g展开囄
从图1中看刎ͼFirebug?个主要的Tab按钮Q下文将主要介绍介绍q几斚w的功能?/p>
Console | HTML | CSS | Script | Dom | Net |
控制?/td> | Html查看?/td> | Css查看?/td> | 脚本条时? | Dom查看?/td> | |络状况监视 |
控制台能够显C当前页面中的javascript错误以及(qing)警告Qƈ提示出错的文件和行号Q方便调试,q些错误提示比v览器本w提供的错误提示更加详细且具有参考h(hun)倹{而且在调试Ajax应用的时候也是特别有用,你能够在控制台里看到每一个XMLHttpRequestshpost出去的参数、URLQhttp头以?qing)回馈的内容Q原本似乎在q后黑匣子里q作的程序被清清楚楚地展C在你面前?/p>
象C shell或Python shell一P你还能在控制C查看变量内容Q直接运行javascript语句Q就是大段的javascriptE序也能够正运行ƈ拿到q行期的信息?/p>
控制台还有个重要的作用就是查看脚本的log, 从前你也怹(fn)惯了(jin)使用alert来打印变量,但是Firebugl我们带来了(jin)一个新朋友 —?console.log, 最单的打印日志的语法是q样的:(x)
如果你有一堆参数需要组合在一赯出,可以写成q样Q?/p>
Firebug的日志输出有多种可选的格式以及(qing)语法Q甚臛_以定制彩色输出,比v单调的alertQ显然更加方便,限于幅Q这里不做详l说明,但是有志于提高debug效率的读者,可以到Firebug的官方站点(见附录)(j)查看更详l的教程?/p>
?Q?在控制台里调试javascript
W一ơ看到Firebug强大的HTML代码查看器,p得它与众不同Q相比于Firefox自带的HTML查看器,它的功能强大?jin)许多?HTML
首先你看到的是已l经q格式化的HTML代码Q它有清晰的层次Q你能够方便地分辨出每一个标{之间的从属q行关系Q标{折叠功能能够帮助你集中精力分析代码。源代码上方q标记出?jin)DOM的层ơ,如图3所C,它清楚地列出?jin)一个hml元素的parent、child以及(qing)root元素Q配合F(tun)irebug自带的CSS查看器用,?x)给div+css面分析~写带来很大的好处。你q可以在HTML查看器中直接修改HTML源代码,q在览器中W一旉看到修改后的效果Q光凭这一点就?x)让许多面设计师死心(j)塌地地成?f)Firebug的粉丝了(jin)?/p>
有时候页面中的javascript?x)根据用L(fng)动作如鼠标的onmouseover来动态改变一些HTML元素的样式表或背景色QHTML查看器会(x)页面上改变的内容也抓下来,q以黄色高亮标记Q让|页的暗操作彻底成为历双Ӏ?/p>
利用Inspect(g)查功能,我们q可以用鼠标在页面中直接选择一些区块,查看相应的HTML源代码和CSS样式表,真正的做到所见即所得,如果你用了(jin)外部~辑器修改了(jin)当前|页Q可以点击Firebug的reload囄重新载入|页Q它?x)l跟t你之前用Inspect选中的区块,方便调试?/p>
?:QHTML查看?br />
Firebug的CSS调试器是专ؓ(f)|页设计师们量n定做的?/p>
如今的网设计言必称div+cssQ如果你是用table套出来的HTML面Q就得按q规矩重构一遍,否则昑־你不够时髦!用div做出来的面的确能精HTML代码QHTML标签减肥的结果就是CSS样式表的~写成了(jin)面制作的重头戏。Firebug的CSS查看器不仅自下向上列出每一个CSS样式表的从属l承关系Q还列出?jin)每一个样式在哪个样式文g中定义。你可以在这个查看器中直接添加、修攏V删除一些CSS样式表属性,q在当前面中直接看C改后的结果?/p>
一个典型的应用是面中的一个区块位|显得有些不太恰当,它需要挪动几个象素。这时候用CSS调试工具可以L~辑它的位置——你可以Ҏ(gu)需要随意挪动象素?br /> 如图4中正在修改一个区块的背景艌Ӏ?/p>
提示Q如果你正在学习(fn)CSS样式表的应用Q但是总记不住常用的样式表有哪些|可以试在CSS调试器中选中一个样式表属性,然后用上下方向键来改变它的|它会(x)把可能的g个个遍历l你看?/p>
?: CSS查看器,能够直接修改样式?br />
我们可以利用Firebug来查看页面中某一区块的CSS样式表,如果q一步展开右侧Layout tab的话Q它?x)以标尺的Ş式将当前区块占用的面U清楚地标识出来Q精到象素Q更让h惊讶的是Q你能够在这个可视化的界面中直接修改各象素的|面上区块的位置׃(x)随改动而变化。在面中某些元素出现错位或者面U超出预料值时Q该功能能够提供有效的帮助,你可以籍此分析offset、margin、padding、size之间的关p,从而找?gu)决问题的办法?/p>
?QFirebug中的CSS标尺
也许有一天,你的老板或者客hCQ抱怨你制作的网速度奇慢Q你该如何应对?你或怼(x)说这可能是网l问题,或者是?sh)脑配置问题Q或者是E序太慢Q或者直说是他们的h品问题?不管怎么_(d)最后你可能被要求去解决q个有多U可能的问题?/p>
|络状况监视器能帮你解决q个手问题。Firebug的网l监视器同样是功能强大的Q它能将面中的CSS、javascript以及(qing)|页中引用的囄载入所消耗的旉以矩状图呈现出来Q也许在q里你能一把揪出拖慢了(jin)你的|页的元Ӟq而对|页q行调优Q最后老板满意客户Ƣ喜Q你的饭也因此而牢固?/p>
|络监视器还有一些其它细节功能,比如预览囄Q查看每一个外部文件甚xxmlHttpRequestsh的http头等{?/p>
?Q网l状늛视器
q是一个很不错的javascript脚本调试器,占用I间不大Q但是单步调试、设|断炏V变量查看窗口一个不。正所谓麻雀虽小Q五脏俱全?/p>
如果你有一个网站已l徏成,然而它的javascript有性能上的问题或者不是太完美Q可以通过面板上的Profile来统计每D脚本运行的旉Q查看到底是哪些语句执行旉q长Q一步步排除问题?/p>
?Qjavascript调试?br />
DOM(Document Object Model)里头包含?jin)大量的Object以及(qing)函数、事Ӟ在从前,你要想从中查到需要的内容Q绝非易事,q好比你M(jin)一个巨大的图书馆,惌扑ֈ几本名字不太切的小书,众多的选择?x)让你无所适从。而用Firebug的DOM查看器却能方便地览DOM的内部结构,帮助你快速定位DOM对象。双M个DOM对象Q就能够~辑它的变量或|~辑的同Ӟ你可能会(x)发现它还有自动完成功能,当你输入document.get之后Q按下tab键就能补齐ؓ(f)document.getElementByIdQ非常方ѝ如果你认ؓ(f)补齐得不够理惻I按下shift+tab又会(x)恢复原状。用?jin)Firebug的DOM查看器,你的javascript从此扑ֈ?jin)驱使的对象QW(xu)eb开发也许就成了(jin)一件乐事?/p>
?: Dom查看?br />
Firebug插g提供?jin)一整套web开发所必需的工兗从HTML的编写,到CSS样式表的化调优Q以?qing)用javascript脚本开发,亦或是Ajax应用QFirebug插g都会(x)成ؓ(f)你的得力助手。所谓工Ʋ善其事Q必先利其器。在Web2.0的时代,a必称AjaxQ动辄就是用户体验提升,如果把Firebug工具用好Q必能让你如虎添|HTML、CSS、javascript整理得服服帖帖,从此成ؓ(f)web开发中的专家人物?/p>
Firebug的中文含义是萤火虫,作者是Joe HewittQ官方网?http://www.getfirebug.com
Firefox亦即火狐览器,是近q来撼动IE览器市(jng)场占有率的一支强大力量,要不是它的出玎ͼ我想有生之年说不定也看不到IE 7的发布了(jin)Q官方网?http://www.firefox.com
作? volcano 发表??15, 2007 at 9:54 am
版权信息: 可以L转蝲, 转蝲时请务必以超链接形式标明文章原始出处?a >作者信?/a>?qing)此声?/strong>
怹链接 - http://www.ooso.net/index.php/archives/294