• 第一步,点击 Firefox 浏览器上的“工具”选项,然后点击“附加软件”,在弹出的小窗口中,点击右下角的“获取扩展”选项,如图 4 所示。

    图 4. 获取扩展

  • 第二步,在点击“获取扩展”选项后,打开的页面中搜索 Firebug,在搜索结果的页面中,下载 Firebug 。需要注意的是,Firebug 的版本要与 Firefox 的版本相兼容。如果要查看自己 Firefox 的版本,可通过点击浏览器“帮助”选项下“关于 Mozilla Firefox ”选项。

  • 第三步,由于目前 Firebug 直接支持的是 Firefox3.0,而本书作者的 Firefox 是 Firefox2.0,因此需要从 Firebug 的老版本中找到合适的 Firebug 版本。 Firebug 的下载网页会判断您的浏览器版本。如果尝试下载安装不合适的 Firebug 版本时,其链接是失效的。与本书作者浏览器版本相对的最佳 Firebug 下载页面如图 5 所示。其余的一些老版本的 Firebug,只要可以下载的,一般来说,也就是可以使用的。

    图 5. 下载合适的 Firebug

了解 Firebug 调试功能

  • 第一步,启动 Firebug 。 Firebug 安装完成以后,有的 Firebug 版本会在浏览器的右下角产生一个特殊的小图标。点击这个小图标,就可以打开 Firebug 的调试窗口。如果浏览器的右下角没有小图标,则可以通过浏览器菜单中的“工具”>“Firebug”>“Open Firebug”打开 Firebug 的调试窗口。 Firebug 打开以后,会在浏览器的下端出现如图 6 所示的窗口。

    图 6. Firebug 调试窗口

  • 第二步,Console 窗口的使用。 Console 窗口除了显示页面加载的文件以外,还可以直接显示页面中的代码错误和一些输出信息。

    如果将清单 1 代码中的 dojo.require("dijit.form.Button") 删除,就会在 Console 窗口中出现如图 7 所示的红色错误警告。

    图 7. Console 窗口中显示的代码错误

    除了看到页面的运行信息以外,还可以直接在 Console 窗口中输出调试信息。 Firebug 支持的调试语句较为常用的是 console.log 。

    在清单 1 的 init 函数中加入一条语句 console.log("I am Firebug!"),然后刷新页面则可以在 Console 窗口中看到如图 8 所示的输出。 console.log 除了可以直接将字符串输出以外,还可以使用如 C 语言的 printf 一样的格式控制进行输出。

    图 8. 输出调试信息

    在清单 1 的 init 函数中加入清单 2 中的代码,然后刷新页面则可以在 Console 窗口中看到如图 9 所示的输出。

    清单2
    var num = 222;
    console.log("My test num is %d",num);
    console.log(num,window,login);
    图 9. 输出调试信息的高级使用方法

    此外,为了方便将不同类别的调试信息输出进行区别(比如错误信息和警告信息),可以使用另外四种调试输出语句。

    在清单 1 的 init 函数中加入清单 3 中的代码,然后刷新页面则可以在 Console 窗口中看到如图 10 所示的输出。

    清单 3
    console.debug("I am debug");
    console.info("I am info");
    console.warn("I am warn");
    console.error("I am error");
    图 10. 另外四种调试输出语句

    有 Javascript 经验的读者可能会习惯于使用 alert() 进行调试信息的输出,但是笔者认为将调试信息在 Console 窗口中输出是一个更优的选择。首先,如果页面有很多 alert(), 则点击“ OK ”让弹出框消失也是一个非常烦人的事情。其次,如果调试信息的量很大,则是用 alert() 的弹出窗口将无法良好的完整展示调试信息。接着,alert() 无法查看对象和数组的细节信息。最后,如果在一个循环中使用 alert(), 将很容易造成页面“死掉”。

  • 第三步,HTML 窗口的使用。在 HTML 窗口中可以查看到页面的源代码。除了可以查看页面的源代码外,还可以使用 Firebug 的编辑功能直接对页面进行编辑。

    图 11. 使用 Firebug 的编辑页面功能

    如图 11 所示,在处于 HTML 窗口的模式下,点击 Edit 按钮,将切换查看模式到编辑模式。需要注意的是,在使用 Edit 模式前,最好如图 11 先提前选中页面的 body 代码区块。

    图 12. 使用 Edit 后的页面效果

    如图 12 所示,在 Edit 模式下,在页面代码的最后加上了字符串“ bbbb ”,然后在页面的相应位置也直接显示了字符串“ bbbb ”。需要注意的是,在页面新加完代码后,需要点击一下页面的其它任何地方,则其效果才会在页面上加载。

    图 13. HTML 模式下的 Style,Layout,DOM 三窗口

    如图 13 所示,在 HTML 窗口模式下,与 HTML 窗口相对应,在其右边有 Style,Layout,DOM 三个用于查看页面对应部分相关属性的窗口。当选中页面中的某个部分时,Style 显示选中部分的 CSS 属性,Layout 显示 CSS 的盒式模型,DOM 显示其选中部分的所有 DOM 对象。结合使用 Inspect 功能可以方便选择页面中所需要关注的部分。

    在图 13 中所显示的是在使用了 Inspect 功能选中一个 Dojo 文本框后,其所显示的 Dojo 文本框的 CSS 修饰。这些 CSS 修饰是通过加载 Dojo 的 CSS 文件来实现的。

  • 第四步,Script 窗口的使用。 Script 窗口支持对 Javascript 的断点调试。

    在 Script 窗口下,可以选择不同的脚本文件进行调试。在选择好需要调试的脚本文件以后,直接使用鼠标点击代码行的左端可以添加断点,断点的标志是一个圆点。(此外,也可以在代码中直接写入 debugger; 来添加断点)

    然后刷新页面,则当脚本执行到断点位置的时候,停止执行。此时,可以选择 Script 窗口右边的几种调试按钮对当前代码进行调试。

    在图 14 中,在代码的 18 行添加了断点,且此时脚本单步运行到了第 22 行。

    图 14. Script 窗口的使用

  • 第五步,DOM 窗口和 Net 窗口的使用。 DOM 窗口主要显示的是页面中的所有对象,及其所包含的属性和方法。 Net 窗口主要是显示当前页面中所加载的各个文件的大小和加载各个文件所花费的时间。

    除了上述五步中所讲述的功能以外,Firebug 还有一些功能本文没有涉及。如果读者对 Firebug 的使用特别感兴趣,可以在网上搜索相关资料进行了解。

    但是在某些情况下,仍然需要在 IE 或 Safari 等其它非 Firefox 浏览器上进行调试。在这个时候,Dojo 可以提供一些帮助。

    Dojo 实现了一个跨平台的调试信息输出的功能。如果需要使用这个功能,则只需要将 djConfig 的参数值设置为“isDebug: true ”便可以了。

    如图 15 所示,在页面的最下面有一个方型区域,其中有三条输出。这三条输出分别对应的调试语句为 console.debug("This is console debug information");console.warn("This is console warn information");console.error("This is console error information");

    图 15. IE 下使用 Dojo 的跨平台调试信息输出功能

Firebug的安装与使用的更多相关文章

  1. Linux中Firefox——Firebug插件安装及使用

    Firebug的安装方法即打开方式同httpfox Firebug使用指南: Firebug可以随时编辑页面:在HTML标签中,点击窗口上方的"inspect"命令,然后再选择页面 ...

  2. firebug离线安装方法-拖入法

    这里介绍的是如何在Firefox中离线安装firebug插件. 1, 下载firebug离线包, 一般就是一个*.xpi文件; 2, 打开Firefox浏览器,直接将*.xpi文件拖入Firefox浏 ...

  3. Selenium IDE和Selenium RC的安装

    1       安装FireBug和FirePath 1.在火狐浏览器中,点击”添加附件”按钮,弹出”附加组件管理器”页面 2.在弹出页面中,输入“fireBug”,点击“搜索”按钮,弹出fireBu ...

  4. Javascript的调试利器:Firebug使用详解

    转载自:http://blog.csdn.net/tianxiaode/archive/2007/09/02/1769152.aspx   一直在用firebug,可是没有这么精通,今天看到本文章觉得 ...

  5. firebug的使用方法和技巧(web开发调试工具)

    Firebug是firefox下的一个插件,能够调试所有网站语言,如Html,Css等,但FireBug最吸引我的就是javascript调试功 能,使用起来非常方便,而且在各种浏览器下都能使用(IE ...

  6. Firebug及YSlow简介与使用图文详解

    Firebug本是Firefox浏览器下一个出色的网页设计插件,随着浏览器的发展,Firebug也推出了支持IE.Opera.Chrome的Firebug Lite.凭借Firebug的出色代码调试功 ...

  7. 调试Ajax调用的利器firebug

    这几天我在家里调试PCS的Ajax调用时候发现一个问题就是调试手段太少,一般我会在进入ajax调用前加上一段alert输出变量信息. 比如 alert($("#taskid").v ...

  8. Python----Anaconda + PyCharm + Python 开发环境搭建(使用pip,安装selenium,使用IDLE)

    1.Python开发中会用到的工具下载地址 FireBug插件安装地址:https://addons.mozilla.org/en-US/firefox/addon/firebug/ FirePath ...

  9. Selenium学习系列---- FirePath的安装和使用

    在用Selenium编写测试用例的时候,需要对对网页元素上定位,而现在很多的浏览器是可以看到网页上相关的元素信息,可以查看某一个网页的元素信息,通过定位的方式查找元素.另外安装好Selenium ID ...

随机推荐

  1. cocosStudio中使用PageView,ListView和ScrollView

    晚上吃东西好像吃坏肚子了,.但是技术还要继续研究.最近工作中要使用CocosStudio做界面,好吧,不管对他有什么偏见,学习一下吧.这里主要记录一下三个控件的使用和说明.就是ScrollView,L ...

  2. Ajax 跨域难题 - 原生 JS 和 jQuery 的实现对比

    讲解顺序: AJAX 的概念及由来 JS 和 jQuery 中的 ajax 浏览器机制 AJAX 跨域 AJAX 的概念 在讲解 AJAX 的概念之前,我先提一个问题. 这是一个典型的 B/S 模式. ...

  3. sublime 实用快捷键

    Command+Enter 在下一行插入新行.举个栗子:即使光标不在行尾,也能快速向下插入一行. Command+Shift+Enter 在上一行插入新行.举个栗子:即使光标不在行首,也能快速向上插入 ...

  4. oracle死锁的检测查询及处理

    -- 死锁查询语句 SELECT bs.username "Blocking User", bs.username "DB User", ws.username ...

  5. bzoj1458 士兵占据

    1458: 士兵占据 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 685  Solved: 398 [Submit][Status][id=1458 ...

  6. 零基础学python-4.5 标准类型分类

    1.按存储分:原子类型和容器类型 原子类型:仅仅能包括一个对象 容器类型:能够包括多个对象 分类 python类型 原子类型 数值和字符串 容器类型 列表.元组和字典 2.按能否够变化分:可变和不可变 ...

  7. 解读OC中的load和initialize

    在 Objective-C 中,NSObject 是绝大多数类的基类.而在 NSObject 中有两个类方法 load 和 initialize,那这两个方法是在什么时机被调用呢?父类.Categor ...

  8. Tabs in Non-RootViewController Scenarios

    新建空工程如图 添加一个MainStoryboard如图 设置启动项为MainStoryboard 重写AppDelegate的Window方法 public override UIWindow Wi ...

  9. EasyDarwin自动停止推流

    原文转自:http://blog.csdn.net/ss00_2012/article/details/51441753 我们使用EasyDarwin的推流转发来进行媒体直播的时候,有时会有这样一个需 ...

  10. a REST API

    https://spring.io/guides/tutorials/bookmarks/ http://roy.gbiv.com/untangled/2008/rest-apis-must-be-h ...