Chrome DevTools功能介绍

简介: Chrome DevTools功能介绍

Chrome DevTools功能介绍

1、Elements 元素:检查、调整页面,调试DOM,调试CSS

2、Network 网络: 调试请求,了解页面静态资源分布,网页性能检测

3、Console 控制台:调试JavaScript、查看log日志,交互式代码调试

4、Sources 源代码资源:调试JavaScript页面源代码,断点调试

5、Application 应用: 查看调试客户端存储,Cookie,LocalStorage,SessionStorage

6、Performance 性能:查看页面性能细节,细粒度对网页载入进行性能优化(高阶)

7、Memory 内存 CPU分析,内存堆栈分析器(高阶)

8、Security 安全:页面安全,证书

9、Audits 性能分析,使用Google Lighthouse辅助性能分析,给出优化建议(高阶)


打开Chrome开发者工具方式

1、菜单 -> 更多工具 -> 开发者工具

2、页面右键 -> 检查

3、快捷键

(1)打开最近关闭的状态

Mac: Command + Option + I

Windows: Ctrl + Shift + I

(2)快速进入Elements查看DOM或样式

Mac:Command + Option + C

Windows: Ctrl + Shift + C

(3)快速进入Console查看log运行JavaScript

Mac:Command + Option + J

Windows: Ctrl + Shift + J

(4)切换开发者工具位置

Mac:Command + Option + D

Windows: Ctrl + Shift + D


在Console中访问DOM节点

1、document.querySelectAll

2、使用$0访问选中的元素

3、拷贝 -> JS Path


在DOM中断点调试

1、属性修改时打断点 break on -> attribute modifications

2、节点删除时打断点 break on -> node removal

3、子树修改时打断点 break on -> subtree modifications


CSS调试

1、提升优先级

!important


2、动画效果

animation.css

https://daneden.github.io/animate.css/


Console面板

1、运行JavaScript代码,交互式编程

2、查看程序中打印的Log日志

3、断点调试代码Debugging

// 查看cookie
document.cookie

// 选择元素
document.querySelectorAll("img")


// shift + enter 换行不执行

// 斐波那契

var fibo = function(n){
    return n<3 ? 1 : fibo(n-1) + fibo(n-2); 
}

Console打印Log日志

// 1、信息 ,支持多个参数

console.log("hello", ", ", "world")
// hello , world

// 变量替换
var s = "hi";
console.log("%s hello", s);
// hi hello

// 2、警告
console.warn()

// 3、错误
console.error()

// 4、表格形式打印json
console.table({name: "tom"})

// 5、group信息组
console.group("start");
console.log("log");
console.info("info");
console.groupEnd("start");

// 6、自定义样式
console.log("%c这是绿色的日志", "color: green")

document.querySelector("#log").addEventListener("click",()=>{
console.log("log");
})

// 断言
console.assert(1===2)


// 运行时间
console.time()
// do something
console.timeEnd()

// 清屏
console.clear()

调试JavaScrip基本流程

1、console.log() 或者 alert() 运行时调试

2、JavaScript断点调试

3、运行时变量调试,修改源代码临时保存调试

(1)debugger

(2)事件断点

(3)源代码断点

<html>

<body>
<!-- 计算器实例 -->
<input type="text">
<input type="text">
<button>计算</button>
<p></p>

<script>
// 选取button元素
var button = document.querySelector("button");

// 添加按钮点击事件
button.addEventListener("click", () => {
var inputs = document.querySelectorAll("input");

let a = parseInt(inputs[0].value);
let b = parseInt(inputs[1].value);

document.querySelector("p").textContent = a + b;
})
</script>
</body>

</html>

Snippets

// 添加jQuery
let script = document.createElement("script");
script.src="https://code.jquery.com/jquery-3.4.1.js";;

// 防止 CDN 篡改 javascript
script.integrity = "sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU=";

// 会发起一个跨域请求(即包含Origin: HTTP头)。
// 但不会发送任何认证信息(即不发送cookie, X.509证书和HTTP基本认证信息)。
// 如果服务器没有给出源站凭证(不设置Access-Control-Allow-Origin: HTTP头),这张图片就会被污染并限制使用。
script.crossOrigin = "anonymous";

document.head.appendChild(script);

Application客户端存储

1、Cookies

// 添加cookie
document.cookie="a=2"

// 获取cookie
document.cookie

https://www.runoob.com/js/js-cookies.html

2、LocalStorage 永久存储

LocalStorage.getItem("key")
LocalStorage.setItem("key", "value")

3、SessionStorage 临时存储

sessionStorage.setItem("key", "value")
sessionStorage.getItem("key")

其他

网页截屏

comamnd + shifit +p

搜索 Capture full size screenshot

移动端开发调试

Sensors

NetWork conditions

            </div>
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
8月前
|
人工智能 Java API
MCP协议重大升级,Spring AI Alibaba联合Higress发布业界首个Streamable HTTP实现方案
本文由Spring AI Alibaba Contributor刘军、张宇撰写,探讨MCP官方引入的全新Streamable HTTP传输层对原有HTTP+SSE机制的重大改进。文章解析Streamable HTTP的设计思想与技术细节,并介绍Spring AI Alibaba开源框架提供的Java实现,包含无状态服务器模式、流式进度反馈模式等多种场景的应用示例。同时,文章还展示了Spring AI Alibaba + Higress的完整可运行示例,分析当前实现限制及未来优化方向,为开发者提供参考。
|
存储 Oracle 关系型数据库
oracle数据恢复—Oracle数据库文件大小变为0kb的数据恢复案例
存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出&并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。
|
存储 自然语言处理 搜索推荐
智能语音识别技术在医疗健康领域的深度应用与前景####
本文深入探讨了智能语音识别技术在医疗健康领域的多维度应用,从电子病历的高效录入到远程诊疗的无缝对接,再到患者教育与健康管理的个性化服务,展现了该技术如何显著提升医疗服务效率与质量。通过分析典型应用场景、挑战及解决方案,本文揭示了智能语音识别技术在推动医疗行业智能化转型中的关键作用,并展望了其未来发展趋势与广阔前景。 ####
|
运维 监控 Java
面经:Storm实时计算框架原理与应用场景
【4月更文挑战第11天】本文是关于Apache Storm实时流处理框架的面试攻略和核心原理解析。文章分享了面试常见主题,包括Storm的架构与核心概念(如Spout、Bolt、Topology、Tuple和Ack机制),编程模型与API,部署与运维,以及应用场景与最佳实践。通过代码示例展示了如何构建一个简单的WordCountTopology,强调理解和运用Storm的关键知识点对于面试和实际工作的重要性。
862 4
面经:Storm实时计算框架原理与应用场景
|
Web App开发 缓存 安全
面试官:说说你对options请求的理解
什么是 options 请求 我们可以看下 MDN 中的一段描述: HTTP 的 OPTIONS 方法 用于获取目的资源所支持的通信选项。客户端可以对特定的 URL 使用 OPTIONS 方法,也可以对整站(通过将 URL 设置为“*”)使用该方法。” 简单来说,就是可以用 options 请求去嗅探某个请求在对应的服务器中都支持哪种请求方法。 其实,这是因为在跨域的情况下,在浏览器发起&quot;复杂请求&quot;时主动发起的。跨域共享标准规范要求,对那些可能对服务器数据产生副作用的 HTTP 请求方法(特别是 GET 以外的 HTTP 请求,或者搭配某些 MIME 类型的 POST 请求).
面试官:说说你对options请求的理解
|
存储 监控 固态存储
Linux扩容要注意哪些事项,Linux 磁盘扩容具体操作
Linux扩容要注意哪些事项,Linux 磁盘扩容具体操作
|
算法
转:johnson算法的现实意义
Johnson算法是一种用于解决边数与节点数之间关系为O(n^2)的带权图的最短路径问题的算法。它是一种结合了Dijkstra算法和Bellman-Ford算法的技术,通过使用一个负权重的环检测器来消除负权重的影响。这种算法的时间复杂度为O(n^2+m log n)。
279 1
|
Linux Python 运维
Centos7.6下安装Python3.7
Centos7.6下安装Python3.7 前言 话说不会开发的运维不是一个好的DBA,所以我要开始学习python了,写博客记录一下我的学习过程,另外别欺负我新来的,那个每天更博的技术流ken是我哥。
9320 0
|
网络安全
FTP基础知识 FTP port(主动模式) pasv(被动模式) 及如何映射FTP
您是否正准备搭建自己的FTP网站?您知道FTP协议的工作机制吗?您知道什么是PORT方式?什么是PASV方式吗?如果您不知道,或没有完全掌握,请您坐下来,花一点点时间,细心读完这篇文章。
10276 1
|
安全 数据安全/隐私保护 内存技术