Firebug入门指南(Firefox浏览器)


Posted in Javascript onAugust 21, 2010

我最近就在学习怎么使用Firebug,网上找到一篇针对初学者的教程,感觉比较有用,就翻译了出来。

作者:Estelle Weyl

原文网址:http://www.evotech.net/blog/2007/06/introduction-to-firebug/

译者:阮一峰

本文是Firebug的一个概览,并不对它的所有特性进行详尽解释。不过,本文的内容对一个新手来说,应该是足够了。

 

目录

一、安装Firebug

二、打开和关闭Firebug

三、Firebug窗口概览

四、随时编辑页面

五、用Firebug处理CSS

六、盒状模型

七、评估下载速度

八、DOM

九、Javascript调试

十、AJAX

十一、附注

 

一、安装Firebug

Firebug在Firefox浏览器中运行。另外有一个Firebug lite版本,可以通过javascript调用,包含在页面中,从而在其他非Firefox浏览器中使用。本文不涉及这个版本。

安装Firebug,请访问Firebug下载页面。点击该页面右边栏中部巨大的橙黄色按钮即可。你也可以在Mozilla的FireFox Add-ons站点下载它。安装后只要重新启动FireFox,就可以使用了。

如果你已经安装过了,那么请检查是否更新到了最新版本。打开Firefox的“Tools”菜单,选择“Add-ons”命令,然后在弹出窗口中点击左下角的“Find Updates”按钮。

二、打开和关闭Firebug

在Firebug网站上,可以找到它的快捷键设置。我最常使用以下三种方法:

* 打开Firebug:按F12,或者点击浏览器状态栏右边的Firebug入门指南(Firefox浏览器)绿色标志。

 

* 关闭Firebug:按F12,或者点击浏览器状态栏右边的Firebug入门指南(Firefox浏览器)绿色标志,或者点击Firebug窗口右上角的Firebug入门指南(Firefox浏览器)红色关闭标志。

* 在单独窗口中打开Firebug:点击firebug窗口右上角的Firebug入门指南(Firefox浏览器)红色箭头标识,或者使用Ctrl+F12/⌘+F12按钮。

Firebug的相关设置:

* 固定Firebug在新窗口打开:先打开firebug,点击左上角的bug标志,选择options菜单中的“Always Open in New Window”设置。

* 增加/缩小字体大小:先打开firebug,点击左上角的bug标志,选择“Text Size”命令。每次字体变化的幅度非常小,你可能需要使用多次。

Firebug入门指南(Firefox浏览器)

* 限制只对某些站点使用Firebug:先右击浏览器状态上的green check mark标志,选择“disable Firebug”命令。然后,再右击这个已经变灰的标志,选择“Allowed Sites...”命令,增加允许Firebug生效的域名。

Firebug入门指南(Firefox浏览器)

 

 

三、Firebug窗口概览

* Console标签: 主要使用javascript命令行操作,显示javascript错误信息,在底部的>>>提示符后,你可以自己键入javascript命令。

* HTML标签: 显示HTML源码,并且像DOM等级结构那样,每行之前有缩进。你可以选择显示或不显示某个子节点。

* CSS标签:浏览所有已经装入的样式表,可以当场对其修改。在Firebug窗口上部,“edit”命令的旁边,有一个本页面中所有样式表的下拉列表,你可以选择一个样式表进行浏览。

Firebug入门指南(Firefox浏览器)

* Script标签: 显示javascript文件及其所在页面。在Firebug窗口上部,“inspect”命令的旁边,有一个本页面中所有Javascript文件的下拉列表,你可以选择一个进行浏览。你可以在javascript命令中,设置断点(breakpoint)及其出现的条件。

* DOM标签: 显示所有的页面对象和window物体的属性。因为在javascript中,所有变量都是window物体的属性,所以Firebug会显示所有变量和它们的值。

* Net标签:显示本页面涉及的所有下载,以及它们各自花费的时间,各自的HTTP请求头信息和服务器响应的头信息。XHR标签对AJAX调试很有用。

四、随时编辑页面

在HTML标签中,点击窗口上方的“inspect”命令,然后再选择页面中的文本节点,你可以对其进行修改,修改结果会马上反应在页面中。

Firebug入门指南(Firefox浏览器)

Firebug同时是源码浏览器和编辑器。所有HTML、CSS和Javascript文件中的对象,都可以用单击或双击进行编辑。当你输入完毕,浏览器中的页面立刻会发生相应变化,你可以得到瞬时反馈。DOM浏览器允许你对文档结构进行彻底的编辑,不局限于文本节点。在HTML标签中,点击窗口上部“inspect”命令旁边的“edit”命令,下方的窗口就会立刻变成一个黑白的文本编辑窗口,你可以对HTML源代码进行任意编辑。在CSS标签中,Firebug会自动补全你的输入。在DOM标签中,当你按Tab键时,Firebug会自动补全属性名。

 

五、用Firebug处理CSS

在DOM标签中,每个HTML元素的style属性揭示了该元素的所有CSS设置。你可以双击对这些设置进行编辑。

Firebug入门指南(Firefox浏览器)

对于那些Firefox不支持的CSS规则,Firebug会自动隐藏。比如,Firebug会隐藏针对某些浏览器的CSS特定设置,以及一些它不支持的CSS3规则。所以,它会隐藏_height:25px;(下划线是一个针对IE6的设置)和p:first-of-type {color: #ff0000;} (:first-of-type是一个CSS3规定的伪类,目前只有Safari 3支持)。但是,这也意味着,如果你恰巧发生了打字错误,导致某些规则无法显示,那么你只有使用其他编辑器显示全部CSS内容,找到你的错误。

Firebug允许你关闭CSS中的某些语句,页面会立刻反映相应变化,你可以立刻查看效果。“关闭”一条语句的方法是,在该语句的左边点击,会出现一个红色的Firebug入门指南(Firefox浏览器)禁止标志。该语句就会变灰。再次点击,该语句就会恢复。

Firebug允许你编辑CSS的属性和属性值。你只要对它们点击,就能编辑。修改后的效果会立刻在浏览器窗口中显示出来。这个特性最好的运用,是在确定准确定位的padding和margin时,firebug允许你用方向键逐单位的增加。

Firebug允许你增加新的属性和属性值。增加方法是双击现有的selector,然后就会出现一个空白的属性名输入框,完成输入后则会出现一个空白的属性值。

 

 

 六、盒状模型

当你在HTML标签中,点击一个元素时,左面窗口显示HTML代码,右面窗口显示该元素的CSS。在CSS窗口上方,有一个layout按钮,点击后会展示与该元素相关的方块模型,包括padding、margin和border的值。要查看每一个元素的这三项值,只需点击“inspect”按钮,然后用鼠标悬停在页面中该元素的上方。

 

Firebug入门指南(Firefox浏览器)

七、评估下载速度

Net标签中图形化了页面中所有http请求所用的时间。使用这个功能,必须打开Network monitoring,默认设置就是打开,但是你可以在“options”下拉菜单中关闭这个选项。你可以用这项功能评估javascript文件下载,占用整个页面显示的时间。

Firebug入门指南(Firefox浏览器)

在每个HTTP请求的左面点击,会显示该次请求的头信息。

在1.0.5版以后,你可以单独查看HTML文件、CSS文件、图像文件等各自下载的时间。

八、DOM

DOM标签提供页面上所有物体的所有属性的信息。Firebug最酷的功能之一是,它可以动态修改页面,反映在浏览器窗口,但是如果使用浏览器自带的查看源码功能,你会发现源码并没有改变。

九、Javascript调试

JavaScript profiler可以报告你的Javascript函数执行所花的时间,因此你可以查看不同函数对速度的影响。使用这个功能的方法是,打开console标签,然后点击上面的Profile按钮(上部的按钮顺序是“Inspect |Clear | Profile”)。Firebug列出调用的所有函数,及其所花的时间。你可以针对要测试的某个函数,在其前部加上console.profile([title]),在其后部加上console.profileEnd()。

console标签的底部是命令行输入,它以“>>>”开头。如果命令行输入有结果输出,那么它会展示在上部的窗口。有一个详细的命令行输入API值得看一下。Firebug内置console对象有几种有用的方法可供调用,包括console.debug、console.info、console.warning、console.error等。如果这些方法产生了输出结果,Firebug会提供一个链接,让你查看相应的代码。

 

调试的另一个方法是设置断点。Script标签允许你在任意行暂停执行。单击行号,就会设置一个断点。右击行号,就可以设置一个断点出现的条件,只有当条件为真时,程序才会暂停执行。右面还有一个watch窗口,可以查看当前变量的值。

Firebug入门指南(Firefox浏览器)

十、AJAX

前面已经提到,Firebug可以捕捉页面的动态内容和其他DOM变化。如果你打开这个示例文件,点击页面上的链接后,在浏览器中查看源码,你会发现什么也没有改变,源码中依然包含那个链接。但是,如果你在Firebug中查看源码,你会发现DOM已经发生了变化,“Hello World”已经被包括在内了。这就是Firebug的核心功能之一,没有它,AJAX的请求和回应就是不可见的。有了它,你可以看到送出的和收到的文本,已经相应的头信息。在Net标签中,你还能监控每个请求/回应各自所花费的时间。

Firebug入门指南(Firefox浏览器)

Net标签中的XHR功能,对查看AJAX操作特别有用。如果你点击每个服务器端回应前的加号,你就会看到服务器端回应的头信息和内容。

当通过XMLHttpRequest对象向服务器端发出一个请求时,Firebug会记录请求的POST或GET内容,以及回应的头信息和内容。使用Net标签中的XHR功能,就可以看到这些内容。它会列出所有服务器的回应,以及所花费的时间。点击前面的+号,如果是GET请求,会显示三个标签;如果是POST请求,会显示4个标签:

Params: 显示请求URL中所包含的name/value对。

Headers: 显示请求和回应的头信息。

 

Response: 显示实际从服务器收到的信息。

Post:显示从通过POST请求,送到服务器的信息。(此项GET请求不包括。)

这四个标签对编写和调试程序很有用。检查POST和Params标签,确定你的请求被正确地发出了。检查Response标签查看返回的格式,确定相应的Javascript处理函数应该如何编写。

十一、附注

* Firebug 1.05 及以前版本,与Firefox 3.0不兼容。

* Firebug的作者Joe Hewitt免费提供了这个软件,为了显示我们对他的爱,你可以考虑对他进行捐助。

* Firebug的一些高级应用,请看Joe Hewitt的这段演示视频(http://video.yahoo.com/watch/111597)。

(完)

Javascript 相关文章推荐
javascript EXCEL 操作类代码
Jul 30 Javascript
利用jQuery 实现GridView异步排序、分页的代码
Feb 06 Javascript
jquery实现按Enter键触发事件示例
Sep 10 Javascript
jQuery大于号(>)选择器的作用解释
Jan 13 Javascript
Javascript数组操作函数总结
Feb 05 Javascript
ES6解构赋值实例详解
Oct 31 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
Nov 09 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
Sep 27 Javascript
微信小程序城市选择及搜索功能的方法
Mar 22 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
Aug 09 Javascript
高性能js数组去重(12种方法,史上最全)
Dec 21 Javascript
JavaScript canvas实现跟随鼠标事件
Feb 10 Javascript
jquery插件之easing 动态菜单
Aug 21 #Javascript
url地址自动加#号问题说明
Aug 21 #Javascript
jquery中输入验证中一个不错的效果
Aug 21 #Javascript
单独使用CKFinder选择图片的方法
Aug 21 #Javascript
jQuery UI AutoComplete 自动完成使用小记
Aug 21 #Javascript
基于jQuery UI CSS Framework开发Widget的经验
Aug 21 #Javascript
jquery png 透明解决方案(推荐)
Aug 21 #Javascript
You might like
PHP中的cookie
2006/11/26 PHP
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
2013/03/06 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
jquery 插件开发方法小结
2009/10/23 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
2013/01/06 Javascript
JsRender实用入门教程
2014/10/31 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
js实现城市级联菜单的2种方法
2017/06/23 Javascript
解决webpack打包速度慢的解决办法汇总
2017/07/06 Javascript
js 公式编辑器 - 自定义匹配规则 - 带提示下拉框 - 动态获取光标像素坐标
2018/01/04 Javascript
浅谈Vue路由快照实现思路及其问题
2018/06/07 Javascript
详解Eslint 配置及规则说明
2018/09/10 Javascript
Node.js net模块功能及事件监听用法分析
2019/01/05 Javascript
如何基于javascript实现贪吃蛇游戏
2020/02/09 Javascript
vue中用 async/await 来处理异步操作
2020/07/18 Javascript
微信小程序以7天为周期连续签到7天功能效果的示例代码
2020/08/20 Javascript
vue中v-model对select的绑定操作
2020/08/31 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
Python中的startswith和endswith函数使用实例
2014/08/25 Python
python中实现k-means聚类算法详解
2017/11/11 Python
python数据归一化及三种方法详解
2019/08/06 Python
tensorflow如何批量读取图片
2019/08/29 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
python rsa-oaep加密的示例代码
2020/09/23 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
2021/02/24 Python
CSS3 滤镜 webkit-filter详细介绍及使用方法
2012/12/27 HTML / CSS
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
Shell脚本如何向终端输出信息
2014/04/25 面试题
师范生自我鉴定范文
2013/10/05 职场文书
网上签名寄语活动留言
2014/01/18 职场文书
伊琍体标语
2014/06/25 职场文书
经营目标管理责任书
2014/07/25 职场文书
2015元旦文艺汇演主持稿(开场白+结束语)
2014/12/14 职场文书
军事理论课感想
2015/08/11 职场文书
用Python简陋模拟n阶魔方
2021/04/17 Python