在Google Chrome浏览器出来以前,我一直使用FireFox,由于FireFox的插件很是丰富,更由于FireFox有强大的Firebug,对于前端开发可谓神器。html
在Chrome出来的时候,我就喜欢上它的简洁、快速,不管是启动速度仍是页面解析速度仍是Javascript执行速度(如今的FireFox4也比以前的FireFox3有很大的进步)。不过当时因为Chrome的开发者工具还不是很完善,而我又不是很熟悉,加之对于Firebug的好感和依赖,当时仍是用回FireFox做为个人主浏览器。前端
后来因为开发Chrome的插件(如今的FaWave),就一直使用Google Chrom做为个人主浏览器,渐渐熟悉Chrome的开发者工具,而Chrome也一直在快速迭代,快速进步中,到如今,Chrome已经绝对成为个人主浏览器,Chrome的开发者工具,我也认为比Firebug更好用。web
得益于Google V8的快速,和对HTML5和CSS3的支持也算比较完善,html类的富客户端应用Chrome上不管是流畅性仍是呈现的效果,都是比较出色的,这对于开发者,特别是对于那些喜欢研究前沿技术的前端开发者来讲,是很重要的。chrome
对于本文,做为一个Web开发人员,除了上面的缘由之外,与咱们开发相关的,就是Chrome的开发者工具。而本文,就是要详细说说Chrome的开发者工具,说说我为何认为它比Firebug要好用。浏览器
你能够直接在页面上点击右键,而后选择审查元素:性能优化
或者在Chrome的工具中找到:网络
或者,你直接记住这个快捷方式: Ctrl+Shift+I (或者Ctrl+Shift+J直接打开控制台),或者直接按F12。函数
打开的开发者工具就长下面的样子:工具
不过我通常习惯与点左下角的那个按钮,将开发者工具弹出做为一个独立的窗口:性能
下面来分别说下每一个Tab的做用。
这个就是查看、编辑页面上的元素,包括HTML和CSS:
左侧就是对页面HTML结构的查看与编辑,你能够直接在某个元素上双击修改元素的属性,或者你点右键选"Edit as Html"直接对元素的HTML进行编辑,或者删除某个元素,全部的修改都会即时在页面上获得呈现。(注:看到上面右键菜单的最后一个选项"审查元素"了么?这是否是说明这个开发者工具的页面也是HTML来的呢?你点一下就知道了哦,嘿嘿)
你还能够对某个元素进行监听,在JS对元素的属性或者HTML进行修改的时候,直接触发断点,跳转到对改元素进行修改的JS代码处:
Elements标签页的右侧能够对元素的CSS进行查看与编辑修改:
你还能够经过这里看到各CSS选择器设置的CSS值的覆盖状况。
下面的Metrics能够看到元素占的空间状况(宽、高、Padding、Margin神马的):
注意到上面的Properties没有?这个颇有用哦,可让你看到元素具备的方法与属性,比查API手册要方便得多哦(要注意某些方法和属性在IE、FireFox等其余浏览器下面的支持状况哦)。
Resources标签页能够查看到请求的资源状况,包括CSS、JS、图片等的内容,同时还能够查看到存储相关的如Cookies、HTML5的Database和LocalStore等,你能够对存储的内容编辑和删除。
这里的CSS文件有一个好玩的特性,你能够直接修改CSS文件,而且修改即时生效哦:
Network标签页对于分析网站请求的网络状况、查看某一请求的请求头和响应头还有响应内容颇有用,特别是在查看Ajax类请求的时候,很是有帮助。注意是在你打开Chrome开发者工具后发起的请求,才会在这里显示的哦。
点击左侧某一个具体去请求URL,能够看到该请求的详细HTTP请求状况:
咱们能够在这里看到HTTP请求头、HTTP响应头、HTTP返回的内容等信息,对于开发、调试,都是颇有用的。
很明显,这个标签页就是查看JS文件、调试JS代码的,直接看下图的说明:
还有你能够打开Javascript控制台,作一些其余的查看或者修改:
你甚至还能够为某一XHR请求或者某一事件设置断点:
注意这个Timeline的标签页不是指网络请求的时间响应状况哦(这个在Network标签页里查看),这个Timeline指的JS执行时间、页面元素渲染时间:
点击底部的Record就能够开始录制页面上执行的内容。(这个不熟悉,请参考文末连接)
这个主要是作性能优化的,包括查看CPU执行时间与内存占用:
这个也不熟悉,很少说,仍是请参考文末连接吧。
这个对于优化前端页面、加速网页加载速度颇有用哦(至关与Yslow):
点击run按钮,就能够开始分析页面,分析完了就能够看到分析结果了:
它甚至能够分析出页面上样式表中有哪些CSS是没有被使用的哦:
就是Javascript控制台了:
这个除了查看错误信息、打印调试信息(console.log())、写一些测试脚本之外,还能够看成Javascript API查看用。
例如我想查看console都有哪些方法和属性,我能够直接在Console中输入"console"并执行:
怎么样,一目了然了吧 ?再例如我想查看日期函数都有哪些方法:
(注:注意在这里看到的某些方法和属性是ES5新增的,记得兼容其余浏览器的支持状况哦)
结语
Google Chrome除了简洁、快速,如今的Chrome的插件也很是的丰富了。而对于web开发者来讲,Chrome对于HTML五、CSS3等一些新标准的支持也是比较完善的,并且Chrome的开发者工具我我的认为真的很是好用,这就是为何我向web开发者推荐使用Chrome的缘由。
注1:本文截图的Chrome版本为:13.0.782.215 m
注2:Chrome开发者工具更详细的说明请参考:http://code.google.com/intl/zh-CN/chrome/devtools/docs/overview.html注3:本文原来想定的标题是:给那些由于Firebug而舍不得FireFox的朋友