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实时生图绘板
目录
相关文章
|
存储 芯片
第六章 半导体存储器【微机原理】2
第六章 半导体存储器【微机原理】2
1624 0
|
Kubernetes 网络协议 调度
聊聊k8s中的hostport和NodePort
让服务基于节点暴露端口,大家最先想到的应该都是 nodeport 这种 service,他可以非常方便的为pod代理外部流量,那么 hostport 是什么呢?他和 nodeport 的区别是什么,今天我们来聊聊这个比较小众的 hostport。
7495 0
聊聊k8s中的hostport和NodePort
|
11月前
|
编解码 文字识别 自然语言处理
如何使用OCR技术批量识别图片中的文字并重命名文件,OCR 技术批量识别图片中的文字可能出现的错误
### 简介 【批量识别图片内容重命名】工具可批量识别图片中的文字并重命名文件,方便高效处理大量图片。然而,OCR 技术面临字符识别错误(如形近字混淆、生僻字识别不佳)、格式错误(段落错乱、换行问题)和语义理解错误等挑战。为提高准确性,建议提升图片质量、选择合适的 OCR 软件及参数,并结合自动校对与人工审核,确保最终文本的正确性和完整性。
1634 12
如何使用OCR技术批量识别图片中的文字并重命名文件,OCR 技术批量识别图片中的文字可能出现的错误
|
缓存 关系型数据库 PostgreSQL
PostgreSQL自增ID的初始化语句
【5月更文挑战第10天】PostgreSQL自增ID的初始化语句
690 2
|
PHP Python
基于Python中docx与docxcompose批量合并多个Word文档文件并逐一添加分页符
基于Python中docx与docxcompose批量合并多个Word文档文件并逐一添加分页符
507 1
|
Python
使用Python的Requests库进行网络请求和抓取网页数据
【4月更文挑战第20天】使用Python Requests库进行网络请求和网页数据抓取的步骤包括:安装库(`pip install requests`)、导入库、发送GET/POST请求、检查响应状态码、解析内容、处理Cookies、设置请求头以及异常处理。通过`response`对象访问响应信息,如`status_code`、`text`、`content`和`cookies`。可设置`headers`模拟用户代理,用`try-except`处理异常。
392 7
|
人工智能 搜索推荐 开发者
AI编程助手 Amazon CodeWhisperer 全面解析与实践
AI编程助手 Amazon CodeWhisperer 全面解析与实践
649 0
AI编程助手 Amazon CodeWhisperer 全面解析与实践
|
弹性计算
阿里云服务器如何升级实例规格、cpu和内存、带宽等配置
购买阿里云服务器之后,后期如何升级云服务器的实例规格、cpu和内存、带宽配置?以下是阿里云服务器如何升级配置的最新教程。
3549 0
阿里云服务器如何升级实例规格、cpu和内存、带宽等配置
|
域名解析 网络协议 安全
双堆栈(Dual Stack):实现IPv4与IPv6共存的技术
在网络通信中,IPv4和IPv6是不同版本的IP协议,它们之间存在兼容性问题。为了在IPv6逐渐普及的过程中保持与IPv4的互通性,双堆栈节点应运而生。 双堆栈(Dual Stack)是一种在网络协议中用于实现IPv4与IPv6的共存的技术。它允许网络设备同时支持IPv4和IPv6协议,通过建立两个独立的堆栈来处理不同版本的IP数据包。
|
网络协议 网络安全 虚拟化
虚拟机ping不通外网的原因
如果您在虚拟机中无法 ping 通外网,可能会有以下几个常见的原因: 1. 网络连接问题:确保虚拟机的网络连接正常。检查虚拟机的网络适配器设置,确保它已正确配置并连接到主机上的物理网络。 2. 网络设置问题:检查虚拟机的网络设置,确保网络设置正确。如果您使用的是桥接模式或 NAT 模式,请确保网络配置正确,并分配了正确的 IP 地址和网关。 3. 防火墙阻止:检查虚拟机内部和宿主机上的防火墙设置。确保防火墙允许 ICMP(ping)请求通过。 4. DNS 设置问题:检查虚拟机的 DNS 设置。尝试通过在虚拟机中执行 `ping 8.8.8.8` 来诊断,如果可以 ping 通 IP
7051 0