• 第一步,点击 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. C#给指定doc文件写入宏

    private void InsertMacro() { Word.Application oWord; Word.Document oDoc; VBIDE.VBComponent oModule; ...

  2. 轻松搞定RabbitMQ(六)——主题

    转自 http://blog.csdn.net/xiaoxian8023/article/details/48806871 翻译地址:http://www.rabbitmq.com/tutorials ...

  3. centos7下MySQL的配置

    1. 下载mysql的repo源 wget http:.noarch.rpm 2. 安装mysql-community-release-el7-5.noarch.rpm包 rpm .noarch.rp ...

  4. css实现轮播效果图

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Kubernetes基本概念之Label

    系列目录 在为对象定义好Label后,其他对象就可以通过Label来对对象进行引用.Label的最常见的用法便是通过spec.selector来引用对象. apiVersion: v1 kind: R ...

  6. ZeroClipboard—ZeroClipboard的使用

    1.ZeroClipboard的作用: 借助Zero Clipboard能够简单高速地将内容拷贝到剪贴板,相似点击某些网页中"复制"按钮后复制对应区域的内容. 2.ZeroClip ...

  7. unity 接触一个月的感受和心得

    unity scrollview 遇到的问题 一个scrollview作为翻页,这样的效果调整. 一页上面有三个scrollview,这三个scrollview上的items不受下层整个页面的scro ...

  8. Create a /etc/yum.repos.d/mongodb-org-4.0.repo

    Install MongoDB Community Edition on Red Hat Enterprise or CentOS Linux — MongoDB Manual https://doc ...

  9. Linux就该这么学--命令集合4(文件目录管理命令)

    1.touch命令用于创建空白文件与修改文件时间:(touch [选项] [文件]) 对于在Linux中的文件有三种时间: 更改时间(mtime):内容修改时间(不包括权限的) 更改权限(ctime) ...

  10. LVS集群中的IP负载均衡技术

    LVS集群中的IP负载均衡技术 章文嵩 (wensong@linux-vs.org) 转自LVS官方参考资料 2002 年 4 月 本文在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集 ...