Javascript 的调试,是开发 Web 应用尤其是 AJAX 应用很重要的一环,目前对 Javascript 进行调试的工具很多,我比较喜欢使用的是 Firebug 。 Firebug 是 Joe Hewitt 开发的一套与 Firefox 集成在一起的功能强大的 web 开发工具,可以实时编辑、调试和监测任何页面的 CSS 、 HTML 和 JavaScript 。

<o:p> </o:p>

1、  安装

Firebug是与Firefox集成的,所以我们首先要安装的事Firefox浏览器。安装好浏览器后,打开浏览器,选择菜单栏上的“工具”菜单,选择“附加软件”,在弹出窗口中点击右下角的“获取扩展”链接。在打开的页面的search输入框中输入“firebug”。等搜索结果出来后点击Firbug链接(图1-1红色圈住部分)进入Firebug的下载安装页面。

<o:p> </o:p>

javascript需要配置环境吗 javascript需要安装什么软件_Firefox

图1-1

<o:p> </o:p>

在页面中点击Install Now(图1-2)按钮。

<o:p> </o:p>

javascript需要配置环境吗 javascript需要安装什么软件_Firebug_02

图1-2

<o:p> </o:p>

在弹出窗口(图1-3)中等待3秒后单击“立即安装”按钮。

<o:p> </o:p>

javascript需要配置环境吗 javascript需要安装什么软件_javascript需要配置环境吗_03

图1-3

<o:p> </o:p>

等待安装完成后会单击窗口(图1-4)中的“重启 Firefox”按钮重新启动Firefox。

<o:p> </o:p>

javascript需要配置环境吗 javascript需要安装什么软件_Firefox_04

图1-4

<o:p> </o:p>

当Firefox重启完后我们可以在状态栏最右边发现一个灰色圆形图标(

javascript需要配置环境吗 javascript需要安装什么软件_Firebug_05

),这就表示Firebug已经安装好了。灰色图标表示Firebug未开启对当前网站的编辑、调试和监测功能。而绿色(

javascript需要配置环境吗 javascript需要安装什么软件_CSS_06

)则表示Firebug已开启对当前网站进行编辑、调试和监测的功能。而红色图标(

javascript需要配置环境吗 javascript需要安装什么软件_CSS_07

)表示已开启对当前网站进行编辑、调试和监测的功能,而且检查到当前页面有错误,当前图标表示有5个错误。

<o:p> </o:p>

2、  开启或关闭Firebug

单击Firebug的图标或者按F12键你会发现页面窗口被分成了两部分,上半部分是浏览的页面,下半部分则是Firebug的控制窗口(图2-1)。如果你不喜欢这样,可以按CTRL+F12或在前面操作后单击右上角的上箭头按钮,弹出一个新窗口作为Firebug的控制窗口。

<o:p> </o:p>

javascript需要配置环境吗 javascript需要安装什么软件_Firefox_08

图2-1

<o:p> </o:p>

从图2-1中我们可以看到,因为我们开启Firebug的编辑、调试和监测功能,所以目前只有两个可以选择的链接:“Enable Firebug”与“Enable Firebug for this web site”。如果你想对所有的网站进行编辑、调试和检测,你可以点击“Enable Firebug”开启Firebug,则以后无论浏览任何网站,Firebug都处于活动状态,随时可以进行编辑、调试和检测。不过一般的习惯我们只是对自己开发的网站进行编辑、调试和检测,所以我们只单击“Enable Firebug for this web site”开启Firebug就行了。

开启Firebug窗口(图2-2)后,我们可以看到窗口主要有两个区域,一个是功能区,一个是信息区。选择功能区第二行的不同标签,信息区的显示会有不同,Options的选项也会不同,搜索框的搜索方式也会不同。

<o:p> </o:p>

javascript需要配置环境吗 javascript需要安装什么软件_CSS_09

图2-2

<o:p> </o:p>

要关闭Firebug控制窗口单击功能区最右边的关闭图标或按F12键就行了。如果要关闭Firebug的编辑、调试和监测功能,则需要单击功能区最左边的臭虫图标,打开主菜单,选择“Disable Firebug”或“Disable Firebug for xxxxx”。

<o:p> </o:p>

3、  Firebug主菜单

<o:p> </o:p>

单击功能区最左边的臭虫图标可打开主菜单(图3-1),其主要功能描述请看表1。

<o:p> </o:p>

javascript需要配置环境吗 javascript需要安装什么软件_Firefox_10

图3-1

<o:p> </o:p>


菜单选项

说明

Disable Firebug

关闭/开启Firebug对所有网页的编辑、调试和检测功能

Disable Firebug for xxxxx

关闭/开启Firebug对xxxxx网站的编辑、调试和检测功能

Allowed Sites

设置允许编辑、调试和检测的网站

Text Size:Increase text size

增大信息区域显示文本的字号

Text Size:Decrease text size

减少信息区域显示文本的字号

Text Size:Normal text size

信息区域以正常字体显示

Options:Always Open in New Window

设置Firebug控制窗口永远在新窗口打开

Show Preview tooltips

设置是否显示预览提示。

Shade Box Model

当前查看状态为HTML,鼠标在HTML element标签上移动时,页面会相应在当前标签显示位置显示一个边框表示该标签范围。这个选项的作用是设置是否用不同颜色背景表示标签范围。

Firebug Website..

打开Firebug主页。

Documentation..

打开Firebug文档页。

Discussion Group

打开Firebug讨论组。

Contribute

打开捐助Firebug 页面。

表1

<o:p> </o:p>

4、  控制台(Console)

单击功能区第二栏的“Console”标签可切换到控制台(图4-1)。控制台的作用是显示各种错误信息(可在Options里定义),显示脚本代码中内嵌的控制台调试信息,通过命令行对脚本进行调试,通过单击Profile对脚本进行性能测试。 控制台分两个区域,一个是信息区,一个是命令行,通过Options菜单的“Larger Command Line”可改变命令行位置。

<o:p> </o:p>

javascript需要配置环境吗 javascript需要安装什么软件_Firefox_11

图4-1

<o:p> </o:p>

    Options菜单的选项请看表2。

<o:p> </o:p>


菜单选项


说明

Show JavaScript Errors

显示脚本错误。

Show JavaScript Warnings

显示脚本警告。

Show CSS Errors

显示CSS错误。

Show XML Errors

显示XML错误。

Show XMLHttpRequests

显示XMLHttpRequests。

Larger Command Line

将命令行显示从控制窗口底部移动右边,扩大输入区域。

表2

<o:p> </o:p>

单击“Clear”按钮可清除控制台的控制信息。

<o:p> </o:p>

5、  页面源代码查看功能

单击功能区第二栏的“HTML”标签可切换到源代码查看功能(图5-1)。虽然Firefox也提供了查看页面源代码的功能,但它显示的只是页面文件本身的源代码,通过脚本输出的HTML源码是看不到。而Firebug则是所见即所得,是最终的源代码。

<o:p> </o:p>

javascript需要配置环境吗 javascript需要安装什么软件_Firefox_12

图5-1

<o:p> </o:p>

我们来看一个例子,文件源代码如下:

<o:p> </o:p>

<!DOCTYPE HTML PUBLIC "-//W<st1:chmetcnv tcsc="0" hasspace="False" sourcevalue="3" negative="False" numbertype="1" w:st="on" unitname="C">3C</st1:chmetcnv>//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

  <title>简单的例子</title>

       <meta http-equiv="content-type" content="text/html; charset=utf-8">

       <style>

              #div1{background:red;width:100px;height:100px;}

              #div2{background:blue;width:100px;height:100px;margin:10px;padding:10px;border:5px solid black;color:white;}

              #div3{background:yellow;width:50px;height:50px;margin-left:25px;}

       </style>

</head>

<body scroll="no">

  <div id="div1">方块一</div>

  <div id="div2">方块二</div>

  <script>

     document.getElementById('div1').innerHTML+='<div id="div3">方块三</div>';

  </script> 

</body>

</html>

  

在例子中我们通过JavaScript在“div1”中加入了“div3”,在Firefox中查看源代码你是看不到“div1”中包含有代码“<div id="div3">方块三</div>”的,但是Firebug中我们是可以看见的(图5-2选中部分)。

<o:p> </o:p>

javascript需要配置环境吗 javascript需要安装什么软件_Firebug_13

图5-2

<o:p> </o:p>

从图5-1中我们可以看到,信息区被分成了两个部分,左边是显示源代码,右边是一个功能区,可以从这里查看到HTML Element中的CSS定义、布局情况和DOM结构。

从图5-2中我们可以看到,源代码按DOM结构分层次显示的,通过层次折叠功能,我们就可以很方便分析代码。在功能区的第一行还根据你的选择,清晰的按子、父、根列出了当前源代码的层次(图5-2红色部分),单击各部分,则会即刻转到该部分的源代码。

<o:p> </o:p>

javascript需要配置环境吗 javascript需要安装什么软件_JavaScript_14

图5-3

<o:p> </o:p>

在源代码上移动鼠标,页面就会出现一个半透明的方块,指示当前鼠标所指源代码的显示区域,当选择。在图5-4中,鼠标正指向“div1”,而在页面中“div1”的显示区域上被一个半透明的方块遮盖了。

javascript需要配置环境吗 javascript需要安装什么软件_JavaScript_15

图5-4

如果你把“Inspect”按钮按下,功能正好相反,在页面中移动鼠标,则当前显示区域的源代码会被加亮显示出来。在图5-5中,我们可以看到鼠标指针正指向“方块二”,而在源代码中可以看到,“方块二”的源代码“<div id="div2">方块二</div>”已被加亮显示(红色部分)。如果你单击某个显示区域,则该区域的源代码会被选中。

<o:p> </o:p>

javascript需要配置环境吗 javascript需要安装什么软件_Firefox_16

图5-5

是不是很方便?方便是方便,但是我的源代码很多,而且有些区域在页面中不方便鼠标指定,怎么办?没关系,我们还有一个厉害武器,搜索功能。譬如我们知道某个HTML Element的ID是“div2”,但在层层叠叠的源代码中不好找,在页面中鼠标也很难找到,那我们就在功能区的搜索框中输入“div2”,再看看源代码区域,“div2”被加亮显示出来了(图5-6红色部分)。在这个简单的例子可能看不出很好的效果,大家可以尝试一下把“div1”先折叠起来,然后在搜索框输入“div3”,你可以看到“div1”会自动展开,并将“div3”加亮显示,如果还觉得不够理想,可以找一个源代码比较多的例子测试一下。

javascript需要配置环境吗 javascript需要安装什么软件_JavaScript_17

图5-6

<o:p> </o:p>

除了通过按下“Inspect”按钮,单击显示区域选择源代码,我们还可以通过单击源代码中的HTML标记(开始或结束标记都可以)来选择。我们尝试一下把鼠标移动到HTML标记,会发现鼠标指针变成了手的形状,这说明我们可以通过单击选择该源代码。选择源代码后,我们就可以通过右边的功能区查看、编辑和调试它的CSS定义和盒子模型(CSS盒子模型请参阅相关说明,这里就不再赘述了),还有一个很好的功能就是当外部编辑器修改了源代码(没有删除该源代码,只是修改),我们在浏览器重新加载页面后,选择的源代码不会改变,我们可以很方便的观察源代码的变化与效果。

有没有经常为调试某个页面效果在源代码编辑器和浏览器之间切换,一次又一次的刷新而感到懊恼?有了Firebug你就不用再懊恼了。你可以直接在源代码中进行编辑,然后查看效果。如果只是修改已经存在的属性,例如要修改“div2”的内部文本,则直接将鼠标移动到文本上面,等鼠标指针换成“I”,单击即可进行编辑了。其它已存在的属性和属性值也可以这样直接进行编辑。如果要为某Element添加属性,请将鼠标移动到该Element上,等光标变为“I”的时候,单击鼠标右键,从菜单中选择“New Attribute..”,在显示的编辑框中输入你要添加的属性名称就可以了。

javascript需要配置环境吗 javascript需要安装什么软件_CSS_18