Fiddler前端開發(fā)值得擁有
寫這篇文章的目的何在:
1.本人還算喜歡看書,JavaScript的相關(guān)書看過一些,書本上總能看見對JavaScript類似的評語或者評價(jià) - “JavaScript調(diào)試?yán)щy”??墒鞘聦?shí)卻是隨著互聯(lián)網(wǎng)行業(yè)的的飛速發(fā)展,JavaScript調(diào)試難的問題已不像早年那樣麻煩了,這里先不說各種IDE對JavaScript強(qiáng)力的支持,剛好因?yàn)楣ぷ餍枰?,需要調(diào)試產(chǎn)品在主流瀏覽器中兼容問題,所以乘機(jī)做了點(diǎn)功課,來為大伙介紹這個在前端開發(fā)過程中異常給力的工具。
2.***次已介紹一款軟件為目的寫文章,希望大家看完文章能有收獲。而且說到底這個也是一個工具,大家如果有用過更好的調(diào)試工具也歡迎推廣一下,大家好才是真的好,哈哈。
3.這款工具本人已經(jīng)使用快兩年時(shí)間了,在實(shí)際工作確實(shí)得到不少幫助,所以雖然已有介紹此工具的文章,還是決定自己寫一篇,讓更多的朋友了解這個工具。
4.這個月對本人來說是一個嶄新的開始,新的生活,新的工作,新的環(huán)境...上個月發(fā)生了太多太多事情,好事壞事煩心事,感覺一切都很漫長,不過堅(jiān)持過后更加堅(jiān)定自己努力的決心,自己強(qiáng)大起來才是硬道理。
5.文章的前部分介紹工具的具體細(xì)節(jié),后部分介紹工具的使用技巧和具體的方法,針對個人需求選擇閱讀。
6.歡迎轉(zhuǎn)載,不過請注明出處,謝謝。
Fiddler是啥?
百度百科里是這樣介紹它的 - “Fiddler是一個web調(diào)試代理。它能夠記錄所有客戶端和服務(wù)器間的http請求,允許你監(jiān)視,設(shè)置斷點(diǎn),甚至修改輸入輸出數(shù)據(jù),fiddler包含了一個強(qiáng)大的基于事件腳本的子系統(tǒng),并且能夠使用.net框架語言擴(kuò)展。”
所以無論你是從事什么開發(fā),哪種語言,只要你想了解HTTP,這個工具就值得你去了解,而且更重要的一點(diǎn),這個工具是免費(fèi)的。
Fiddler就是以代理服務(wù)器的方式,監(jiān)聽系統(tǒng)的網(wǎng)絡(luò)數(shù)據(jù)流動。
啟動Fiddler后,所發(fā)生的網(wǎng)絡(luò)數(shù)據(jù)流通過Fiddler進(jìn)行中轉(zhuǎn),就可以看到HTTP/HTTPS數(shù)據(jù)流的信息,我們就可以通過對這些信息加以分析。Fiddler還提供了清除IE緩存、請求構(gòu)造器、文本轉(zhuǎn)換工具等等一系列工具,對前端開發(fā)工作很有價(jià)值。
Fiddler的安裝與下載:
Fiddler下載地址:http://www.fiddler2.com/fiddler2/
假如你是早期的XP版本的系統(tǒng)在安裝的過程中會提示你下載.net framework 2.0或以上版本 。安裝過程很簡單,就不介紹了。
Fiddler的使用界面和功能介紹:

監(jiān)聽開關(guān) - 只有兩種狀態(tài),用的時(shí)候就開著,不用就讓丫休息。capturing表示捕捉狀態(tài)
監(jiān)聽類型 - 四種狀態(tài)分別對應(yīng) 監(jiān)聽所有請求;監(jiān)聽瀏覽器請求,監(jiān)聽非瀏覽器請求,和全部隱藏(Hide All)
命令行 - 就不作介紹了,難者不會,會者不難。我就屬于前者,悲劇呀...
請求列表 - 請求列表的信息分別有 結(jié)果(Result),協(xié)議(Protocol),主機(jī)名(Host),網(wǎng)頁地址(URL),內(nèi)容大小(Body),緩存(Caching),響應(yīng)的HTTP內(nèi)容類型(Content-Type),請求所運(yùn)行的程序(Process),注釋(Comments),自定義(Custom)
請求相關(guān)信息 - 右邊這一大片都是數(shù)據(jù)流的相關(guān)信息的查看器,這些查看器提供很多查看形式,可以查看數(shù)據(jù)流的內(nèi)容。
Fiddler請求列表的icon對應(yīng)具體的數(shù)據(jù)類型和狀態(tài),其含義是:

#p#
Fiddler請求相關(guān)信息對應(yīng)的主要功能:
工具最右方的是請求相關(guān)信息的查看器,提供了數(shù)據(jù)多方面的查看方式。想了解?看圖片。
統(tǒng)計(jì)資料信息(Statistics)

強(qiáng)大的檢查器(Inspectors) - 功能很多,等待你慢慢挖掘。


時(shí)間軸(Timeline)

自動回復(fù)器(autoResponder) - 一會就是介紹它的具體使用方法

說說我在工作中為什么使用Fiddler,如何使用Fiddler。
前端工程師在工作中總會有那么一些要求,要求書寫的代碼具有優(yōu)良的兼容性,要求考慮代碼的高性能,要求方法要面向?qū)ο?,要?..前端工程師總是和瀏覽器兼容有很多不得不說的事。
條件1:在我們前端工程師開發(fā)的工作中,要調(diào)試服務(wù)器上某個HTML/CSS/JavaScript文件。一般情況下,我們都是將文件直接進(jìn)行修改,然后重新發(fā)布再去做驗(yàn)證,這樣就容易影響到測試環(huán)境或者生成環(huán)境的穩(wěn)定性。更好的做法是,我們在本地開發(fā)環(huán)境中直接修改文件并進(jìn)行驗(yàn)證,然后發(fā)布到測試環(huán)境,這樣能保證測試環(huán)境的穩(wěn)定,可是又比較繁瑣。
條件2:現(xiàn)在我的情況是需要調(diào)試上線產(chǎn)品的瀏覽器兼容性問題,且我沒有本地環(huán)境或者生成環(huán)境去測試。假如有Bug發(fā)生在Firefox或者Chrome這種有控制臺支持調(diào)試的瀏覽器下一切都好說,可是假如bug只發(fā)生在遨游,TT,世界之窗,搜狗...這種的沒有調(diào)試功能的瀏覽器下,而且你還碰見了我目前的情況,那么如果沒有Fiddler這種工具,只能說這就是一場災(zāi)難。
#p#
Fiddler工具可以修改HTTP數(shù)據(jù)的特性,我們就非常便捷地基于生產(chǎn)環(huán)境修改并驗(yàn)證,確認(rèn)后再發(fā)布。
***步,先定位調(diào)試文件且下載。假設(shè)發(fā)現(xiàn)頁面中的某個文件有問題(HTML/CSS/JavaScript都行),那么我們需要做的是就把他先下載到本地(如果本地有這個本地那么可以跳過此步驟),下載到本地的文件偶爾會有亂碼的情況,建議你先清理瀏覽器緩存或者調(diào)整注冊表(Fiddler2中文亂碼問題)。使用細(xì)節(jié)如下:

第二步,F(xiàn)iddler - autoResponder出場,開啟此功能。打開AutoResponder標(biāo)簽設(shè)置??梢钥吹浇缑嫔嫌腥齻€選擇框,***個的作用是開啟或禁用自動重定向功能,我們就可以在下面添加重定向規(guī)則了;第二個選擇框被勾上時(shí),不匹配的請求可以通過,不影響那些沒滿足我們處理?xiàng)l件的請求。

第三步,創(chuàng)建重定向規(guī)則,將目標(biāo)是這個js的HTTP請求重定向到本地文件。選中剛剛定位的文件,通過“Add…”按鈕增加規(guī)則,也可以直接拖動過來。

第四步,選擇本地剛剛保存的文件或者替換的文件,作為替換這個請求的內(nèi)容。

第五步,你調(diào)試或者不調(diào)試,它就在那里 - 只會請求你本地的選擇的那個文件。所以,想怎么修改都隨便你了。刷新頁面,就可以看見這個alert了。

總結(jié):雖然介紹時(shí)一共分為5個步驟,其實(shí)只要用習(xí)慣了很隨意就可以調(diào)試了。快速前端調(diào)試其實(shí)很簡單,你說類。
原文鏈接:http://www.cnblogs.com/Darren_code/archive/2011/09/28/Fiddler.html
【編輯推薦】