<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    linlinyu

    linlinyu
    posts - 0, comments - 4, trackbacks - 0, articles - 15

    firebug的使用

    Posted on 2007-12-03 16:50 linlin yu 閱讀(291) 評(píng)論(2)  編輯  收藏 所屬分類: javascript

    本文最初發(fā)表《程序員》雜志第三期,現(xiàn)將全文貼上,內(nèi)容已經(jīng)過編輯修飾了很多:)

    什么是Firebug

    從事了數(shù)年的Web開發(fā)工作,越來越覺得現(xiàn)在對(duì)WEB開發(fā)有了更高的要求。要寫出漂亮的HTML代碼;要編寫精致的CSS樣式表展示每個(gè)頁(yè)面模塊;要調(diào)試javascript給頁(yè)面增加一些更活潑的要素;要使用Ajax給用戶帶來更好的體驗(yàn)。一個(gè)優(yōu)秀的WEB開發(fā)人員需要顧及更多層面,才能交出一份同樣優(yōu)秀的作業(yè)。為幫助廣大正處于Web2.0洪流中的開發(fā)人員,在這里為大家介紹一款輕巧靈活的輔助開發(fā)工具。

    Firebug是Firefox下的一款開發(fā)類插件,現(xiàn)屬于Firefox的五星級(jí)強(qiáng)力推薦插件之一。它集HTML查看和編輯、Javascript控制臺(tái)、網(wǎng)絡(luò)狀況監(jiān)視器于一體,是開發(fā)JavaScript、CSS、HTML和Ajax的得力助手。Firebug如同一把精巧的瑞士軍刀,從各個(gè)不同的角度剖析Web頁(yè)面內(nèi)部的細(xì)節(jié)層面,給Web開發(fā)者帶來很大的便利。這是一款讓人愛不釋手的插件,如果你以前沒有接觸過它,也許在閱讀本文之后,會(huì)有一試的欲望。筆者在撰寫此文的時(shí)候,正逢Firebug發(fā)布1.0正式版,這不能不說是種巧合。

    應(yīng)用

    Firebug插件雖然功能強(qiáng)大,但是它已經(jīng)和Firefox瀏覽器無縫地結(jié)合在一起,使用簡(jiǎn)單直觀。如果你擔(dān)心它會(huì)占用太多的系統(tǒng)資源,也可以方便地啟用/關(guān)閉這個(gè)插件,甚至針對(duì)特定的站點(diǎn)開啟這個(gè)插件。

    在安裝好插件之后,先用Firefox瀏覽器打開需要測(cè)試的頁(yè)面,然后點(diǎn)擊右下方的綠色按鈕或使用快捷鍵F12喚出Firebug插件,它會(huì)將當(dāng)前頁(yè)面分成上下兩個(gè)框架,如圖1所示。

    圖1:Firebug插件展開圖示
    firebug插件展開圖示
    從圖1中看到,F(xiàn)irebug有6個(gè)主要的Tab按鈕,下文將主要介紹介紹這幾方面的功能。

    Console HTML CSS Script Dom Net
    控制臺(tái) Html查看器 Css查看器 腳本條時(shí)期 Dom查看器 網(wǎng)絡(luò)狀況監(jiān)視

    Console 控制臺(tái)

    控制臺(tái)能夠顯示當(dāng)前頁(yè)面中的javascript錯(cuò)誤以及警告,并提示出錯(cuò)的文件和行號(hào),方便調(diào)試,這些錯(cuò)誤提示比起瀏覽器本身提供的錯(cuò)誤提示更加詳細(xì)且具有參考價(jià)值。而且在調(diào)試Ajax應(yīng)用的時(shí)候也是特別有用,你能夠在控制臺(tái)里看到每一個(gè)XMLHttpRequests請(qǐng)求post出去的參數(shù)、URL,http頭以及回饋的內(nèi)容,原本似乎在幕后黑匣子里運(yùn)作的程序被清清楚楚地展示在你面前。

    象C shell或Python shell一樣,你還能在控制臺(tái)中查看變量?jī)?nèi)容,直接運(yùn)行javascript語(yǔ)句,就算是大段的javascript程序也能夠正確運(yùn)行并拿到運(yùn)行期的信息。

    控制臺(tái)還有個(gè)重要的作用就是查看腳本的log, 從前你也許習(xí)慣了使用alert來打印變量,但是Firebug給我們帶來了一個(gè)新朋友 —— console.log, 最簡(jiǎn)單的打印日志的語(yǔ)法是這樣的:

    CODE:
    1. console.log("hello world")

    如果你有一堆參數(shù)需要組合在一起輸出,可以寫成這樣:

    CODE:
    1. console.log(2,4,6,8,"foo",bar).

    Firebug的日志輸出有多種可選的格式以及語(yǔ)法,甚至可以定制彩色輸出,比起單調(diào)的alert,顯然更加方便,限于篇幅,這里不做詳細(xì)說明,但是有志于提高debug效率的讀者,可以到Firebug的官方站點(diǎn)(見附錄)查看更詳細(xì)的教程。

    圖2: 在控制臺(tái)里調(diào)試javascript
    在控制臺(tái)里調(diào)試javascript

    查看和修改HTML

    第一次看到Firebug強(qiáng)大的HTML代碼查看器,就覺得它與眾不同,相比于Firefox自帶的HTML查看器,它的功能強(qiáng)大了許多。 HTML

    首先你看到的是已經(jīng)經(jīng)過格式化的HTML代碼,它有清晰的層次,你能夠方便地分辨出每一個(gè)標(biāo)簽之間的從屬并行關(guān)系,標(biāo)簽的折疊功能能夠幫助你集中精力分析代碼。源代碼上方還標(biāo)記出了DOM的層次,如圖3所示,它清楚地列出了一個(gè)hml元素的parent、child以及root元素,配合Firebug自帶的CSS查看器使用,會(huì)給div+css頁(yè)面分析編寫帶來很大的好處。你還可以在HTML查看器中直接修改HTML源代碼,并在瀏覽器中第一時(shí)間看到修改后的效果,光憑這一點(diǎn)就會(huì)讓許多頁(yè)面設(shè)計(jì)師死心塌地地成為Firebug的粉絲了。

    有時(shí)候頁(yè)面中的javascript會(huì)根據(jù)用戶的動(dòng)作如鼠標(biāo)的onmouseover來動(dòng)態(tài)改變一些HTML元素的樣式表或背景色,HTML查看器會(huì)將頁(yè)面上改變的內(nèi)容也抓下來,并以黃色高亮標(biāo)記,讓網(wǎng)頁(yè)的暗箱操作徹底成為歷史。

    利用Inspect檢查功能,我們還可以用鼠標(biāo)在頁(yè)面中直接選擇一些區(qū)塊,查看相應(yīng)的HTML源代碼和CSS樣式表,真正的做到所見即所得,如果你使用了外部編輯器修改了當(dāng)前網(wǎng)頁(yè),可以點(diǎn)擊Firebug的reload圖片重新載入網(wǎng)頁(yè),它會(huì)繼續(xù)跟蹤你之前用Inspect選中的區(qū)塊,方便調(diào)試。

    圖3::HTML查看器
    HTML查看器

    CSS調(diào)試

    Firebug的CSS調(diào)試器是專為網(wǎng)頁(yè)設(shè)計(jì)師們量身定做的。

    如今的網(wǎng)頁(yè)設(shè)計(jì)言必稱div+css,如果你是用table套出來的HTML頁(yè)面,就得按這規(guī)矩重構(gòu)一遍,否則顯得你不夠時(shí)髦!用div做出來的頁(yè)面的確能精簡(jiǎn)HTML代碼,HTML標(biāo)簽減肥的結(jié)果就是CSS樣式表的編寫成了頁(yè)面制作的重頭戲。Firebug的CSS查看器不僅自下向上列出每一個(gè)CSS樣式表的從屬繼承關(guān)系,還列出了每一個(gè)樣式在哪個(gè)樣式文件中定義。你可以在這個(gè)查看器中直接添加、修改、刪除一些CSS樣式表屬性,并在當(dāng)前頁(yè)面中直接看到修改后的結(jié)果。

    一個(gè)典型的應(yīng)用就是頁(yè)面中的一個(gè)區(qū)塊位置顯得有些不太恰當(dāng),它需要挪動(dòng)幾個(gè)象素。這時(shí)候用CSS調(diào)試工具可以輕易編輯它的位置——你可以根據(jù)需要隨意挪動(dòng)象素。
    如圖4中正在修改一個(gè)區(qū)塊的背景色。

    提示:如果你正在學(xué)習(xí)CSS樣式表的應(yīng)用,但是總記不住常用的樣式表有哪些值,可以嘗試在CSS調(diào)試器中選中一個(gè)樣式表屬性,然后用上下方向鍵來改變它的值,它會(huì)把可能的值一個(gè)個(gè)遍歷給你看。

    圖4: CSS查看器,能夠直接修改樣式表
    圖4: CSS查看器,能夠直接修改樣式表

    可視化的CSS尺標(biāo)

    我們可以利用Firebug來查看頁(yè)面中某一區(qū)塊的CSS樣式表,如果進(jìn)一步展開右側(cè)Layout tab的話,它會(huì)以標(biāo)尺的形式將當(dāng)前區(qū)塊占用的面積清楚地標(biāo)識(shí)出來,精確到象素,更讓人驚訝的是,你能夠在這個(gè)可視化的界面中直接修改各象素的值,頁(yè)面上區(qū)塊的位置就會(huì)隨改動(dòng)而變化。在頁(yè)面中某些元素出現(xiàn)錯(cuò)位或者面積超出預(yù)料值時(shí),該功能能夠提供有效的幫助,你可以籍此分析offset、margin、padding、size之間的關(guān)系,從而找出解決問題的辦法。

    圖5:Firebug中的CSS標(biāo)尺
    圖5:Firebug中的CSS標(biāo)尺

    網(wǎng)絡(luò)狀況監(jiān)視器

    也許有一天,你的老板或者客戶找到你,抱怨你制作的網(wǎng)頁(yè)速度奇慢,你該如何應(yīng)對(duì)?你或許會(huì)說這可能是網(wǎng)絡(luò)問題,或者是電腦配置問題,或者是程序太慢,或者直說是他們的人品問題?不管怎么說,最后你可能被要求去解決這個(gè)有多種可能的問題。

    網(wǎng)絡(luò)狀況監(jiān)視器能幫你解決這個(gè)棘手問題。Firebug的網(wǎng)絡(luò)監(jiān)視器同樣是功能強(qiáng)大的,它能將頁(yè)面中的CSS、javascript以及網(wǎng)頁(yè)中引用的圖片載入所消耗的時(shí)間以矩狀圖呈現(xiàn)出來,也許在這里你能一把揪出拖慢了你的網(wǎng)頁(yè)的元兇,進(jìn)而對(duì)網(wǎng)頁(yè)進(jìn)行調(diào)優(yōu),最后老板滿意客戶歡喜,你的飯碗也因此而牢固。

    網(wǎng)絡(luò)監(jiān)視器還有一些其它細(xì)節(jié)功能,比如預(yù)覽圖片,查看每一個(gè)外部文件甚至是xmlHttpRequests請(qǐng)求的http頭等等。

    圖6:網(wǎng)絡(luò)狀況監(jiān)視器
    圖6:網(wǎng)絡(luò)狀況監(jiān)視器

    Javascript調(diào)試器

    這是一個(gè)很不錯(cuò)的javascript腳本調(diào)試器,占用空間不大,但是單步調(diào)試、設(shè)置斷點(diǎn)、變量查看窗口一個(gè)不少。正所謂麻雀雖小,五臟俱全。

    如果你有一個(gè)網(wǎng)站已經(jīng)建成,然而它的javascript有性能上的問題或者不是太完美,可以通過面板上的Profile來統(tǒng)計(jì)每段腳本運(yùn)行的時(shí)間,查看到底是哪些語(yǔ)句執(zhí)行時(shí)間過長(zhǎng),一步步排除問題。

    圖7:javascript調(diào)試器
    圖7:javascript調(diào)試器

    DOM查看器

    DOM(Document Object Model)里頭包含了大量的Object以及函數(shù)、事件,在從前,你要想從中查到需要的內(nèi)容,絕非易事,這好比你去了一個(gè)巨大的圖書館,想要找到幾本名字不太確切的小書,眾多的選擇會(huì)讓你無所適從。而使用Firebug的DOM查看器卻能方便地瀏覽DOM的內(nèi)部結(jié)構(gòu),幫助你快速定位DOM對(duì)象。雙擊一個(gè)DOM對(duì)象,就能夠編輯它的變量或值,編輯的同時(shí),你可能會(huì)發(fā)現(xiàn)它還有自動(dòng)完成功能,當(dāng)你輸入document.get之后,按下tab鍵就能補(bǔ)齊為document.getElementById,非常方便。如果你認(rèn)為補(bǔ)齊得不夠理想,按下shift+tab又會(huì)恢復(fù)原狀。用了Firebug的DOM查看器,你的javascript從此找到了驅(qū)使的對(duì)象,Web開發(fā)也許就成了一件樂事。

    圖8: Dom查看器
    圖8: Dom查看器

    小結(jié)

    Firebug插件提供了一整套web開發(fā)所必需的工具。從HTML的編寫,到CSS樣式表的美化調(diào)優(yōu),以及用javascript腳本開發(fā),亦或是Ajax應(yīng)用,F(xiàn)irebug插件都會(huì)成為你的得力助手。所謂工欲善其事,必先利其器。在Web2.0的時(shí)代,言必稱Ajax,動(dòng)輒就是用戶體驗(yàn)提升,如果把Firebug工具用好,必能讓你如虎添翼,將HTML、CSS、javascript整理得服服帖帖,從此成為web開發(fā)中的專家級(jí)人物。

    Firebug的中文含義是螢火蟲,作者是Joe Hewitt,官方網(wǎng)頁(yè) http://www.getfirebug.com
    Firefox亦即火狐瀏覽器,是近年來撼動(dòng)IE瀏覽器市場(chǎng)占有率的一支強(qiáng)大力量,要不是它的出現(xiàn),我想有生之年說不定也看不到IE 7的發(fā)布了,官方網(wǎng)頁(yè) http://www.firefox.com

    作者: volcano 發(fā)表于5月 15, 2007 at 9:54 am

    版權(quán)信息: 可以任意轉(zhuǎn)載, 轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章原始出處作者信息及此聲明

    Feedback

    # re: firebug的使用  回復(fù)  更多評(píng)論   

    2007-12-04 10:36 by 解凍的魚
    不錯(cuò)不錯(cuò)

    # re: firebug的使用  回復(fù)  更多評(píng)論   

    2007-12-19 11:13 by 久城
    up,正需要這個(gè)。
    try a try先,不知道有沒有javascript自動(dòng)排版的功能。

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 色噜噜亚洲男人的天堂| 国产亚洲免费的视频看| 亚洲中文字幕久久久一区| 四虎在线免费视频| 亚洲天堂中文字幕| 99久久精品免费精品国产| 亚洲成人在线电影| 99精品在线免费观看| 91久久亚洲国产成人精品性色| 久久精品免费电影| 亚洲高清视频在线播放| 国产精品视频免费| 亚洲愉拍一区二区三区| 免费国产在线观看老王影院| 男女啪啪免费体验区| 亚洲性久久久影院| 成全视频在线观看免费| 亚洲狠狠狠一区二区三区| 午夜国产精品免费观看| 亚洲乱码av中文一区二区| 国产美女精品视频免费观看| 一区免费在线观看| 久久青青成人亚洲精品| 亚洲免费在线视频播放| 亚洲综合小说另类图片动图| 国产免费av一区二区三区| 在线观看免费无码视频| 色婷婷六月亚洲婷婷丁香| 免费精品国产自产拍在| 国产精品亚洲专一区二区三区| 久久久久噜噜噜亚洲熟女综合| 日本中文字幕免费高清视频| 国产精品亚洲片夜色在线| 亚洲精品岛国片在线观看| 精品在线免费观看| 亚洲无人区码一二三码区别图片| 亚洲国产精品成人久久蜜臀| 午夜精品一区二区三区免费视频| 亚洲免费在线视频观看| 亚洲AV无码乱码在线观看| 99视频在线观看免费|