Firebug是firefox下的一個擴展,能夠調(diào)試所有網(wǎng)站語言,如HTML,層疊樣式表等,但FireBug最吸引人的就是ECMAScript調(diào)試功能,使用起來非常方便,而且在各種瀏覽器下都能使用(IE,Firefox,Opera, Safari)。除此之外,其他功能還很強大,比如html,css,dom的查看與調(diào)試,網(wǎng)站整體分析等等。總之就是一整套完整而強大的 WEB開發(fā)工具。再有就是其為開源的軟件。
Firebug是網(wǎng)頁瀏覽器 Mozilla Firefox 下的一款開發(fā)類擴展,現(xiàn)屬于Firefox的五星級強力推薦擴展之一。它集HTML查看和編輯、ECMAScript控制臺、網(wǎng)絡(luò)狀況監(jiān)視器于一體,是開發(fā)JavaScript、層疊樣式表、HTML和Ajax的得力助手。Firebug如同一把精巧的瑞士軍刀,從各個不同的角度剖析Web頁面內(nèi)部的細(xì)節(jié)層面,給Web開發(fā)者帶來很大的便利。例如 雅虎 的網(wǎng)頁速度優(yōu)化建議工具 YSlow。Firebug也是一個除錯工具。用戶可以利用它除錯、編輯、甚至刪改任何網(wǎng)站的 CSS、HTML、DOM 以及JavaScript 代碼。
主要功能
CSS調(diào)試
Firebug的CSS調(diào)試器是專為網(wǎng)頁設(shè)計師們量身定做的。
如今的網(wǎng)頁設(shè)計言必稱div+層疊樣式表,如果你是用table套出來的HTML頁面,就得按這規(guī)矩重構(gòu)一遍,否則顯得你不夠時髦!用div做出來的頁面的確能精簡HTML代碼,HTML標(biāo)簽減肥的結(jié)果就是CSS樣式表的編寫成了頁面制作的重頭戲。Firebug的CSS查看器不僅自下向上列出每一個CSS樣式表的從屬繼承關(guān)系,還列出了每一個樣式在哪個樣式文件中定義。你可以在這個查看器中直接添加、修改、刪除一些CSS樣式表屬性,并在當(dāng)前頁面中直接看到修改后的結(jié)果。
一個典型的應(yīng)用就是頁面中的一個區(qū)塊位置顯得有些不太恰當(dāng),它需要挪動幾個象素。這時候用層疊樣式表調(diào)試工具可以輕易編輯它的位置——你可以根據(jù)需要隨意挪動象素。如圖4中正在修改一個區(qū)塊的背景色。
提示:如果你正在學(xué)習(xí)CSS樣式表的應(yīng)用,但是總記不住常用的樣式表有哪些值,可以嘗試在CSS調(diào)試器中選中一個樣式表屬性,然后用上下方向鍵來改變它的值,它會把可能的值一個個遍歷給你看。
CSS尺標(biāo)
我們可以利用Firebug來查看頁面中某一區(qū)塊的CSS樣式表,如果進一步展開右側(cè)Layout tab的話,它會以標(biāo)尺的形式將當(dāng)前區(qū)塊占用的面積清楚地標(biāo)識出來,精確到象素,更讓人驚訝的是,你能夠在這個可視化的界面中直接修改各象素的值,頁面上區(qū)塊的位置就會隨改動而變化。在頁面中某些元素出現(xiàn)錯位或者面積超出預(yù)料值時,該功能能夠提供有效的幫助,你可以籍此分析offset、margin、padding、size之間的關(guān)系,從而找出解決問題的辦法。
網(wǎng)絡(luò)監(jiān)視器
也許有一天,你的老板或者客戶找到你,抱怨你制作的網(wǎng)頁速度奇慢,你該如何應(yīng)對?你或許會說這可能是網(wǎng)絡(luò)問題,或者是電腦配置問題,或者是程序太慢,或者直說是他們的人品問題?不管怎么說,最后你可能被要求去解決這個有多種可能的問題。網(wǎng)絡(luò)狀況監(jiān)視器能幫你解決這個棘手問題。Firebug的網(wǎng)絡(luò)監(jiān)視器同樣是功能強大的,它能將頁面中的層疊樣式表、ECMAScript以及網(wǎng)頁中引用的圖片載入所消耗的時間以矩狀圖呈現(xiàn)出來,也許在這里你能一把揪出拖慢了你的網(wǎng)頁的元兇,進而對網(wǎng)頁進行調(diào)優(yōu),最后老板滿意客戶歡喜,你的飯碗也因此而牢固。
網(wǎng)絡(luò)監(jiān)視器還有一些其它細(xì)節(jié)功能,比如預(yù)覽圖片,查看每一個外部文件甚至是XMLHttpRequests請求的http頭等等。
JS調(diào)試器
這是一個很不錯的javascript腳本調(diào)試器,占用空間不大,但是單步調(diào)試、設(shè)置斷點、變量查看窗口一個不少。正所謂麻雀雖小,五臟俱全。
如果你有一個網(wǎng)站已經(jīng)建成,然而它的ECMAScript有性能上的問題或者不是太完美,可以通過面板上的Profile來統(tǒng)計每段腳本運行的時間,查看到底是哪些語句執(zhí)行時間過長,一步步的來排除問題。
Console 控制臺
控制臺能夠顯示當(dāng)前頁面中的javascript錯誤以及警告,并提示出錯的文件和行號,方便調(diào)試,這些錯誤提示比起瀏覽器本身提供的錯誤提示更加詳細(xì)且具有參考價值。而且在調(diào)試Ajax應(yīng)用的時候也是特別有用,你能夠在控制臺里看到每一個XMLHttpRequests請求post出去的參數(shù)、URL,http頭以及回饋的內(nèi)容,原本似乎在幕后黑匣子里運作的程序被清清楚楚地展示在你面前。
像C shell或Python shell一樣,你還能在控制臺中查看變量內(nèi)容,直接運行ECMAScript語句,就算是大段的javascript程序也能夠正確運行并拿到運行期的信息。
控制臺還有個重要的作用就是查看腳本的log, 從前你也許習(xí)慣了使用alert來打印變量,但是Firebug給我們帶來了一個新朋友 —— console.log, 最簡單的打印日志的語法是這樣的:
console.log("hello world")如果你有一堆參數(shù)需要組合在一起輸出,可以寫成這樣:console.log(2,4,6,8,"foo",bar). Firebug的日志輸出有多種可選的格式以及語法,甚至可以定制彩色輸出,比起單調(diào)的alert,顯然更加方便,限于篇幅,這里不做詳細(xì)說明,但是有助于提高debug效率的讀者,可以到Firebug的官方站點(見附錄)查看更詳細(xì)的教程。
修改HTML
第一次看到Firebug強大的HTML代碼查看器,就覺得它與眾不同,相比于Firefox自帶的HTML查看器,它的功能強大了許多。 HTML
首先你看到的是已經(jīng)經(jīng)過格式化的HTML代碼,它有清晰的層次,你能夠方便地分辨出每一個標(biāo)簽之間的從屬并行關(guān)系,標(biāo)簽的折疊功能能夠幫助你集中精力分析代碼。源代碼上方還標(biāo)記出了DOM的層次,如圖3所示,它清楚地列出了一個html元素的parent、child以及root元素,配合Firebug自帶的層疊樣式表查看器使用,會給div+css頁面分析編寫帶來很大的好處。你還可以在HTML查看器中直接修改HTML源代碼,并在瀏覽器中第一時間看到修改后的效果,光憑這一點就會讓許多頁面設(shè)計師死心塌地地成為Firebug的粉絲了。
有時候頁面中的ECMAScript會根據(jù)用戶的動作如鼠標(biāo)的onmouseover來動態(tài)改變一些HTML元素的樣式表或背景色,HTML查看器會將頁面上改變的內(nèi)容也抓下來,并以黃色高亮標(biāo)記,讓網(wǎng)頁的暗箱操作徹底成為歷史。
利用Inspect檢查功能,我們還可以用鼠標(biāo)在頁面中直接選擇一些區(qū)塊,查看相應(yīng)的HTML源代碼和層疊樣式表樣式表,真正的做到所見即所得,如果你使用了外部編輯器修改了當(dāng)前網(wǎng)頁,可以點擊Firebug的reload圖片重新載入網(wǎng)頁,它會繼續(xù)跟蹤你之前用Inspect選中的區(qū)塊,方便調(diào)試。
DOM查看器
DOM(Document Object Model)里頭包含了大量的Object以及函數(shù)、事件,在從前,你要想從中查到需要的內(nèi)容,絕非易事,這好比你去了一個巨大的圖書館,想要找到幾本名字不太確切的小書,眾多的選擇會讓你無所適從。而使用Firebug的DOM查看器卻能方便地瀏覽DOM的內(nèi)部結(jié)構(gòu),幫助你快速定位DOM對象。雙擊一個DOM對象,就能夠編輯它的變量或值,編輯的同時,你可能會發(fā)現(xiàn)它還有自動完成功能,當(dāng)你輸入document.get之后,按下tab鍵就能補齊為document.getElementById,非常方便。如果你認(rèn)為補齊得不夠理想,按下shift+tab又會恢復(fù)原狀。用了Firebug的DOM查看器,你的ECMAScript從此找到了驅(qū)使的對象,Web開發(fā)也許就成了一件樂事。
應(yīng)用功能
Firebug插件雖然功能強大,但是它已經(jīng)和Firefox瀏覽器無縫地結(jié)合在一起,使用簡單直觀。如果你擔(dān)心它會占用太多的系統(tǒng)資源,也可以方便地啟用/關(guān)閉這個插件,甚至針對特定的站點開啟這個插件。
在安裝好插件之后,先用Firefox瀏覽器打開需要測試的頁面,然后點擊右下方的綠色按鈕或使用快捷鍵F12喚出Firebug插件,它會將當(dāng)前頁面分成上下兩個框架,如圖1所示。
從圖1中看到,F(xiàn)irebug有6個主要的Tab按鈕,下文將主要介紹這幾方面的功能。
安裝方法
Firebug的安裝方法。安裝完畢最新版火狐瀏覽器后(本例版本為30.0),點擊左上角firefox菜單,選擇【工具】-->【附加組件】。然后在【搜索所有附加組件】搜索欄中輸入“firebug”關(guān)鍵詞,出現(xiàn)firebug搜索結(jié)果,點擊安裝后,重啟瀏覽器即可完成安裝過程。
Firebug的啟動完成安裝,重啟瀏覽器后,即可按“F12”快捷鍵啟動Firebug插件,也可點擊firefox地址欄右邊f(xié)irebug圖標(biāo)啟動,啟動后,頁面將分欄顯示,F(xiàn)irebug各項功能顯示在下方。
使用方法
Firebug的主要菜單選項有控制臺、HTML、層疊樣式表、腳本、DOM、網(wǎng)絡(luò)六個,上述功能的配合使用能夠滿足網(wǎng)頁設(shè)計的各項要求。
1、控制臺(Console)功能:控制臺得主要作用是用來顯示網(wǎng)頁各類錯誤信息,并可對日志進行打印處理。同時可以在進行ECMAScript調(diào)試的時候當(dāng)作命令行窗口使用,并通過概況子選項說明javascript代碼執(zhí)行的相關(guān)信息。
2、HTML功能:此菜單標(biāo)簽功能,主要用于查看當(dāng)前頁面的源代碼功能,并可進行編輯,實時顯示,從而實現(xiàn)頁面最佳效果。
3、層疊樣式表功能:點擊CSS菜單標(biāo)簽,可查看所有的CSS定義信息,同時也可以通過雙擊來達到修改頁面樣式的效果。
4、腳本(Javascript)功能:腳本功能主要是一個腳本調(diào)試器,可以進行單步調(diào)試、斷點設(shè)置、變量查看等功能,同時通過右邊的監(jiān)控功能來實現(xiàn)腳本運行時間的查看和統(tǒng)計,提高運行效率。
5、DOM功能:該功能主要用于查看頁面DOM信息,通過提供的搜索功能實現(xiàn)DOM的快速準(zhǔn)確定位,并可雙擊來實現(xiàn)DOM節(jié)點屬性或值的修改。
6、網(wǎng)絡(luò)(Net)功能:該標(biāo)簽功能主要用來監(jiān)控網(wǎng)頁各組成元素的運行時間的信息,方便找出其中運行時間較慢的部分,進一步優(yōu)化運行效率。
更新日志
Firebug 1.11.1
Firebug團隊發(fā)布了Firebug 1.11.1。這是一個后續(xù)版本
Firebug1.11.1修復(fù)了3個問題。
6116問題:未定義的值將被忽略字符串格式的console.log
6119問題:`空白位置的元素:pre-wrap的顯示不正確
6124問題:添加Firebug規(guī)則,如新集團的樣式標(biāo)簽.firebug ResetStyles {}。
FireBug 1.10
新版的 FireBug 1.10,發(fā)現(xiàn)新特性還真不少。不過沒有在網(wǎng)上看到完整的中文介紹。簡單翻譯一下,方便大家。
新特性
安裝后無需重啟瀏覽器
延遲加載
曲奇 管理
命令行編輯器的語法著色
自動完成
樣式追蹤
新的命令: help
鏈接到 Web 字體定義
支持媒體查詢
實體顯示格式
顏色顯示格式
菜單項的工具提示
支持“focus” 層疊樣式表 偽類
來自 BFCache 的 HTTP 請求
刪除 CSS 規(guī)則
安裝后無需重啟
參考資料 >