chrome浏览器debug
Chrome浏览器审查元素
1.Elements标签页
Elements标签页的左侧就是对页面HTML结构的查看与编辑,你可以直接在某个元素上双击修改元素的属性。
1.Edit as HTML直接对元素的HTML进行编辑,或者删除某个元素,所有的修改都会即时在页面上得到呈现。
2.Copy可以将HTML代码直接复制下来,在拷贝别人网站上面的HTML代码的时候灰常方便,你懂的~~
3.Delete node删掉一个HTML Node
4.Break on可以对某个元素进行监听,在JS对元素的属性或者HTML进行修改的时候,直接触发断点,跳转到对改元素进行修改的JS代码处
Elements标签页的右侧可以对元素的CSS进行查看与编辑修改:
2.Network标签页
Network标签页对于分析网站请求的网络情况、查看某一请求的请求头和响应头还有响应内容很有用。注意是在你打开Chrome开发者工具后发起的请求,才会在这里显示的哦。
点击左侧某一个具体请求URL,可以看到该请求的详细HTTP请求情况:
我们可以在这里看到HTTP请求头、HTTP响应头、HTTP返回的内容等信息。
- Headers请求头信息和响应头信息
- Preview预览结果,如果是文件可以查看这个文件;如果是图片可以预览这个图片;如果是从服务器返回来的JSON数据,可以查看格式话后的JSON
- Response从服务器返回的响应结果
- Cookies请求和响应的Cookie
- Timing具体的响应时间
3.Resources标签页
Resources标签页可以查看到请求的资源情况,包括CSS、JS、图片等的内容。也可以设置各种断点。对存储的内容进行编辑然后保存也会实时的反应到页面上。
4.Timeline标签页
注意这个Timeline的标签页不是指网络请求的时间响应情况,这个Timeline指的JS执行时间、页面元素渲染时间
5.Profiles标签页
主要是做性能优化的,包括查看CPU执行时间与内存占用
6.Audits标签页
这个对于优化前端页面、加速网页加载速度很有用
Google chrome在“开发者工具”中提供了类似 dust-me 的冗余css检测功能。 chrome用户可以在Audits面板内使用这个功能: 选择 Web Page Performance 选框并点击Run,会得到类似如下格式的提示
Remove unused CSS rules (185)35.39KB (51%) of CSS is not used by the current page.> my.release.css: 35.39KB (51%) is not used by the current page.
这里显示了当前页面加载但没有用到的css样式文件和样式名称列表,点击css文件名前的 箭头可以展开得到一个列表。如果冗余内容很少,就可以直接分析一下然后到文件内删掉了。 需要注意的是,这个功能只是分析当前页面,所以很多其他页面需要但当前页没有使用的样式 也会列出。所以需要谨慎操作,完全确定了是冗余的样式,再手工清除。
我主要用这个功能去除一些想要借鉴的页面中冗余的css,都是从网站上直接保存来的单独页面。 所以我自制了批量清理工具。
我进行批量清理的步骤(由于Audits会将很多全局css认作unused,故批量清理比较危险,仅作学习使用):
1.将冗余的css列表保存成keys.txt
2.一般下载来的css都是压缩后的,不方便查看,这里我先将加密的css文件格式化:Replace regexp (default } -> }^J): RET
3.打开 keys.txt 和 需要精简的css文件,在 * scratch * 内使用 C-x C-e 执行以下代码: 由于chrome分析出的结果可能重复,这段小程序使用了cl的去重方法。
(let ((sbuf (get-buffer "style.css")) (kb (get-buffer "keys.txt")) (keys nil)) (set-buffer kb) (goto-char (point-min)) (while (not (eobp)) (push (buffer-substring (point-at-bol) (point-at-eol)) keys) (next-line) ) (set-buffer sbuf) (goto-char (point-min)) (require 'cl) (dolist (x (remove-duplicates keys :test #'equal)) (replace-regexp (concat x "{.*}\n") "") (goto-char (point-min)) )
)
7.Console标签页
就是Javascript控制台了:
在这个面板可以查看错误信息、打印调试信息(console.log())、写一些测试脚本,还可以当作Javascript API查看用。
console对象提供浏览器控制台的接入,不同的浏览器工作的方式是不一样的,这里介绍一些大都会提供的接口api。
console方法
判断第一个参数是否为真,false的话抛出异常并且在console输出相应信息。
以参数为标识记录调用的次数,调用时在console打印标识以及调用次数。
console.log方法的别称,使用方法可以参考Console.log()
打印一条以三角形符号开头的语句,可以点击三角展开查看对象的属性。
打印一条错误信息,使用方法可以参考 string substitution。
error方法的别称,使用方法参考Console.error()
打印树状结构,配合groupCollapsed以及groupEnd方法;
使用方法和group相同,不同的是groupCollapsed打印出来的内容默认是折叠的。
结束当前Tree
打印以感叹号字符开始的信息,使用方法和log相同
打印字符串,使用方法比较类似C的printf格式输出,可参考 string substitution 。
可以以第一个参数为标识,开始javascript执行过程的数据收集。和chrome控制台选项开Profiles比较类似,具体可参考chrome profiles
配合profile方法,作为数据收集的结束。
将数据打印成表格。Console.table [en-US]
计时器,接受一个参数作为标识。
接受一个参数作为标识,结束特定的计时器。
打印stack trace.
打印一个警告信息,使用方法可以参考 string substitution。
chrome浏览器debug的更多相关文章
- Chrome浏览器调试移动端网页,测试人员也可以轻松debug
现在的产品,移动端应用占据很大市场,在测试过程中,就会测试各种各样的移动端页面.测试过程,或多或少会发现些问题,无非就是前端.后端问题.后端接口问题,可以利用工具:Fiddler或charles抓包查 ...
- 如何在Chrome下Debug Mocha的测试
简介 经过前两篇文章的介绍,相信读者对Mocha应该有一定的认知了,本文重点讲述如何在Chrome下Debug Mocha Test, 方便你在测试fail的时候troubleshooting. 关键 ...
- CEF中文教程(google chrome浏览器控件) -- Windows下编译Chromium
CEF中文教程(google chrome浏览器控件) -- CEF简介 2013-04-10 16:48 42928人阅读 评论(4) 收藏 举报 分类: CEF(2) 目录(?)[+] ...
- 关于Google Chrome 浏览器的一些命令及用法
http://blog.csdn.net/zyz511919766/article/details/7356306 一些Chrome的地址栏命令(这些命令会不停的变动,所有不一定都是好用的) 在Chr ...
- 详解Google Chrome浏览器(操作篇)(一)
开篇概述 在上篇博客中详解Google Chrome浏览器(理论篇)一文中,主要讲解了Chrome 搜索引擎使用.Chrome安装和基本操作.Chrome 基本架构.多线程等原理性问题,这篇将重点讲解 ...
- 浅谈Google Chrome浏览器(操作篇)(上)
开篇概述 在上篇博客中详解Google Chrome浏览器(理论篇)一文中,主要讲解了Chrome 搜索引擎使用.Chrome安装和基本操作.Chrome 基本架构.多线程等原理性问题,这篇将重点讲解 ...
- 转-使用 CefSharp 在 C# App 中嵌入 Chrome 浏览器
使用 CefSharp 在 C# App 中嵌入 Chrome 浏览器 2016-09-23 分类:.NET开发.编程开发.首页精华0人评论 分享到:更多3 本文由码农网 – 小峰原创翻译,转载 ...
- chrome浏览器下的xdebug helper使用方法
chrome浏览器下的xdebug helper使用方法 自从安装了xdebug后,发现每次调试都需要从eclipse中先从头启动,然后一步步走到你要调试的页面,而不是说想什么时候调试就什么时 ...
- 详解Google Chrome浏览器(操作篇)(上)
开篇概述 在上篇博客中详解Google Chrome浏览器(理论篇)一文中,主要讲解了Chrome 搜索引擎使用.Chrome安装和基本操作.Chrome 基本架构.多线程等原理性问题,这篇将重点讲解 ...
随机推荐
- Framebuffer原理、使用、测试系列文章,非常好的资料,大家一起学习
转载:http://blog.csdn.net/tju355/article/details/6881372 *一.FrameBuffer的原理* FrameBuffer 是出现在 2.2.xx 内核 ...
- Swift2.3适配Swift3.0时出现的各种问题
昨晚上一波手贱把我的小5s升到iOS10.如此配套的话,Xcode7.3升级Xcode8.1看来也是势在必行了.公司程序是Swift2.3的,出于对苹果的恐惧迟迟不敢升级.但丑媳妇儿总要见公婆,借这个 ...
- incomplete type is not allowed
keil环境下,报错#70: incomplete type is not allowed,解决 mqtt_conf.h 定义了一个结构体 mqtt_buffer.h #include <std ...
- 关于angularjs依赖注入的整理
初学angularjs阶段,刚刚看到菜鸟教程的angularjs依赖注入.现在整理一下: 1.含义:一个或更多的依赖(可以理解为模块关系依赖)或服务(分为内建服务[例如$http,$tiomeout等 ...
- 描述符和property内建函数
首先我们搞清楚__getattr__ ,__get__ 和 __getattribute__ 作用的不同点. __getattr__在授权中会用到. __getattribute__ 当要访问属性时 ...
- java 图形界面 邮件系统
将后台的邮件系统使用javaGUI编程来实现,让我们可以在桌面端直接控制邮件的收发功能. 一.实现邮箱的登陆功能 邮件系统使用smtp协议发送邮件,使用POP3协议或者IMAP协议来收取邮件.SMTP ...
- 自定义viewpager的界面切换动画
核心操作: 1.创建一个类实现 android.support.v4.view.ViewPager.PageTransformer 根据 position 实现判断哪个界面进行界面切换动画 publi ...
- 使用java写一个小白计算器
有点小意思~ package ok; import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; ...
- cocos2d-lua ARPG手机游戏《烈焰遮天》(客户端+服务端+数据库)发布说明
服务器发布流程及其规范1,环境准备 a, mvn命令行:从\\10.21.210.161\share\tools\apache-maven-3.1.1-bin.tar.gz取出安装包, ...
- Intent的几种Flag的不同
冬天有点冷,不想写博客. 研究下Intent的几种Flag的不同: 1,FLAG_ACTIVITY_CLEAR_TOP:会清理掉目标activity栈上面所有的activity Intent inte ...