`

FireBug的基础使用

阅读更多

使用FireBug有一段时间,感觉对其了解太过于肤浅和使用过于简单。在网上找点资料,记录以备查阅!



在安装好插件之后,先用Firefox浏览器打开需要测试的页面,然后点击右下方的绿色按钮或使用快捷键F12唤出Firebug插件,它会将当前页面分成上下两个框架,如图1所示。

图1:Firebug插件展开图示
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
在控制台里调试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查看器
HTML查看器


三、CSS调试

Firebug的CSS调试器是专为网页设计师们量身定做的。

如今的网页设计言必称div+css,如果你是用table套出来的HTML页面,就得按这规矩重构一遍,否则显得你不够时髦!用div做出来的页面的确能精简HTML代码,HTML标签减肥的结果就是CSS样式表的编写成了页面制作的重头戏。Firebug的CSS查看器不仅自下向上列出每一个CSS样式表的从属继承关系,还列出了每一个样式在哪个样式文件中定义。你可以在这个查看器中直接添加、修改、删除一些CSS样式表属性,并在当前页面中直接看到修改后的结果。

一个典型的应用就是页面中的一个区块位置显得有些不太恰当,它需要挪动几个象素。这时候用CSS调试工具可以轻易编辑它的位置——你可以根据需要随意挪动象素。
如图4中正在修改一个区块的背景色。

提示:如果你正在学习CSS样式表的应用,但是总记不住常用的样式表有哪些值,可以尝试在CSS调试器中选中一个样式表属性,然后用上下方向键来改变它的值,它会把可能的值一个个遍历给你看。

图4: CSS查看器,能够直接修改样式表
图4: CSS查看器,能够直接修改样式表

可视化的CSS尺标

我们可以利用Firebug来查看页面中某一区块的CSS样式表,如果进一步展开右侧Layout tab的话,它会以标尺的形式将当前区块占用的面积清楚地标识出来,精确到象素,更让人惊讶的是,你能够在这个可视化的界面中直接修改各象素的值,页面上区块的位置就会随改动而变化。在页面中某些元素出现错位或者面积超出预料值时,该功能能够提供有效的帮助,你可以籍此分析offset、margin、padding、size之间的关系,从而找出解决问题的办法。

图5:Firebug中的CSS标尺
图5:Firebug中的CSS标尺


四、网络状况监视器

也许有一天,你的老板或者客户找到你,抱怨你制作的网页速度奇慢,你该如何应对?你或许会说这可能是网络问题,或者是电脑配置问题,或者是程序太慢,或者直说是他们的人品问题?不管怎么说,最后你可能被要求去解决这个有多种可能的问题。

网络状况监视器能帮你解决这个棘手问题。Firebug的网络监视器同样是功能强大的,它能将页面中的CSS、javascript以及网页中引用的图片载入所消耗的时间以矩状图呈现出来,也许在这里你能一把揪出拖慢了你的网页的元凶,进而对网页进行调优,最后老板满意客户欢喜,你的饭碗也因此而牢固。

网络监视器还有一些其它细节功能,比如预览图片,查看每一个外部文件甚至是xmlHttpRequests请求的http头等等。

图6:网络状况监视器
图6:网络状况监视器


五、Javascript调试器

这是一个很不错的javascript脚本调试器,占用空间不大,但是单步调试、设置断点、变量查看窗口一个不少。正所谓麻雀虽小,五脏俱全。

如果你有一个网站已经建成,然而它的javascript有性能上的问题或者不是太完美,可以通过面板上的Profile来统计每段脚本运行的时间,查看到底是哪些语句执行时间过长,一步步排除问题。

图7:javascript调试器
图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查看器
图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开发中的专家级人物。



 

  • 大小: 5.6 KB
  • 大小: 11.9 KB
  • 大小: 14.9 KB
  • 大小: 6.9 KB
  • 大小: 16.2 KB
分享到:
评论

相关推荐

    firebug的介绍和使用基础.docx

    firebug的介绍和使用基础 从事了数年的Web开发工作,越来越觉得现在对WEB开发有了更高的要求。要写出漂亮的HTML代码;要编写精致的CSS样式表展示每个页面模块;要调试javascript给页面增加一些更活泼的要素;要使用...

    pythonseleniumide使用-SeleniumIDE基础使用教程.pdf

    pythonseleniumide使⽤_SeleniumIDE基础使⽤教程 Selenium IDE 基础使⽤教程 简介及安装 Selenium IDE 是⼀个易于使⽤的Firefox插件。它提供了⼀个图形⽤户界⾯,可进⾏脚本录制及导出。其记录的脚本可以被转换成...

    教你如何使用firebug调试功能了解javascript闭包和this

    主要介绍了教你如何使用firebug调试功能了解javascript闭包和this,javascript的调试也是一个比较大的难点,很多基础的东西都需要自己去摸索,这里将自己的经验分享给大家,希望对大家能够有所帮助

    WebGIS从基础到开发实践代码(基于ArcGIS API for JavaScript)

    2.3.3Firebug 2.3.4其他工具软件 2.4Dojo基础知识 2.4.1JavaScript对象 2.4.2函数也是对象 2.4.3模拟类与继承 2.4.4使用模块与包管理源代码 第3章页面布局设计 3.1使用布局小部件设计页面框架 3.1.1小部件与布局小...

    Web GIS从基础到开发实践

    《Web GIS从基础到开发实践:基于ArcGIS API for JavaScript》中穿插介绍了20多个辅助开发工具的使用,例如Firebug、IEDeveloper Toolbar、Fiddler、JSON Viewer、JSLint、D3.js与Three.js等。此外,《Web GIS从基础...

    Web GIS从基础到开发实践 基于ArcGIS API for JavaScript

    2.3开发与调试工具 2.3.1集成开发环境 2.3.2调试工具 2.3.3Firebug 2.3.4其他工具软件 2.4Dojo基础知识 2.4.1JavaScript对象 2.4.2函数也是对象 2.4.3模拟类与继承 2.4.4使用模块与包管理源代码 第3章页面布局设计 ...

    JavaScript脚本特效编程给力起飞

    沿途停靠的站点包括:JavaScript基础、JavaScript语法、JavaSctipt编程、页面交互信息的实现、Ajax客户端技术、jQuery框架、ExtJS框架和JavaScript调试的利器Firebug,以及使用iQuery实现在线留言板系统和一些门户...

    firefox firebug中文入门教程 脚本之家新年特别版

    最近看了一篇文章感触颇深,对于firebug作为脚本之家的编辑经常看的到,但可悲的是没怎么用过,不是不用那个而是不会用,刚好看了一篇基础的文章特别整理下。

    《JavaScript脚本特效编程给力起飞》

    沿途停靠的站点包括:JavaScript基础、JavaScript语法、JavaSctipt编程、页面交互信息的实现、Ajax客户端技术、jQuery框架、Ext JS框架和JavaScript调试的利器Firebug,以及使用iQuery实现在线留言板系统和一些门户...

    WEB安全测试

    3.3 使用Firebug观察实时的请求头 48 3.4 使用WebScarab观察实时的POST数据 52 3.5 查看隐藏表单域 55 3.6 使用TamperData观察实时的响应头 56 3.7 高亮显示JavaScript和注释 59 3.8 检测JavaScript事件 60 3.9 修改...

    1自动化测试基础.doc

    自动化测试基础技术搭建测试环境: 1.Python3.5 2.Pip 3.Selenium2.48 4.Firefox 49.0.2 5.插件:geckodriver-v15.0-win64 6.firebug-2.0.19-fx.xpi 7.FireXPath@pierre.tholence.com.xpi 8.WebDriver ...

    JavaScript实战

    13.2.4 教程:使用Firebug控制台 390 13.2.5 更强大的调试 393 13.3 调试教程 397 第14章 深入JavaScript 401 14.1 综合应用 401 使用外部JavaScript文件 401 14.2 编写更高效的JavaScript 403 14.2.1 优先使用变量 ...

    Ajax高级程序设计.pdf

    “本书很好地兼顾了理论和实践,Web程序员均将从中获益匪浅。”  ——Jason Salas,微软MVP Ajax结合了THTML、CSS和JavaScript等技术。使Web开发人员能够创建更复杂、响应更...使用FireBug和Microsoft Fiddler调试程序

    w3cschool2019年最新破甲教程.7z

    资源涉及入门基础和高级进阶,包括但不限于前端部分的HTML,HTML5,CSS,CSS3,JavaScript,JQuery,Json,AJAX,VBScript等等;...还有开发工具 Firebug,Eclipse。 欢迎下载使用,2019年官方文档的最新教程。

    [完整][中文][WEB安全测试].(美)霍普.扫描版.pdf

     本书中的秘诀所覆盖的基础知识包括了从观察客户端和服务器之间的消息到使用脚本完成登录并执行Web应用功能的多阶段测试。在本书的最后,你将能够建立精确定位到Ajax函数的测试,以及适用于常见怀疑对象(跨站式脚本...

    强大的工具

    在 iOS 开发中,我们有时很希望有一款类似 Web 开发中的 UI Debug 工具(例如:Firebug),让我们能够实时查看 UI 的结构,还可以实时更改某个 UIView 的位置和大小的相关属性值查看效果。这里我们发现原来真有这么...

    爬虫理论剖析到实战演练视频课程上.rar

    1-1课程介绍视频ev4.mp4 1-2加载本地数据ev4mp4 2-1安装 postgresql和 beaver ...8-3 firefox firebug以及 chrome工具.ev4.mp4 8-4 scrap shel分析应用宝网站结构.ev4.mp4 8-5 python实现 scrap爬取应用宝网主页ev4,mp4

    爬虫理论剖析到实战演练视频课程下.rar

    1-1课程介绍视频ev4.mp 4 1-2加载本地数据ev4mp4 2-1安装 postgresql和 ...8-3 firefox firebug以及 chrome工具.ev4.mp4 8-4 scrap shel分析应用宝网站结构.ev4.mp4 8-5 python实现 scrap爬取应用宝网主 页ev4,mp4

Global site tag (gtag.js) - Google Analytics