排序
浏览器工作原理
浏览器发展 单进程 => 多进程(主进程+渲染进程[多个]+插件[多个]+网络+GPU)=> 面向服务 chrome默认策略是每创建一个Tab就创建一个进程,但是还有“同一站点(process-per-site-instance...
解析V8引擎底层原理,探究其优异性能之谜
简介 V8引擎是一款由Google开发的JavaScript引擎,目前被广泛应用于Google Chrome浏览器和Node.js运行环境中。V8引擎采用了众多的优化措施,使得其在性能上得到了极大的提升,能够高效地执行Jav...
两个相见恨晚的 Chrome devtool 开发技巧(一)
前言 前段时间给公司分享前端技术, 因为部门中不光是前端,还有后端、数据。 所以选择了分享 浏览器 相关的, 这个不光前端每天在用,研发人员日常也都离不开使用浏览器。 在准备过程中,学习...
两个相见恨晚的 Chrome devtool 开发技巧(二)
前言 上篇文章介绍了 源代码面板中的 workspaces 功能, 可以让我们“面向浏览器编程”, 在浏览器中实时的修改样式和html。 自动热更新到文件中进行修改, 大大简化了我们的开发流程, 今天讲...
前端如何做好项目规范(二)
本文是前端项目规范系列第二篇文章,主要介绍一下 Browserslist Browserslist 是什么 browserslist 是一个用于在前端开发中确定要支持的目标浏览器和 Node.js 版本的工具。它允许开发者根据目标...
? 开发者工具小技巧之 CSS 篇
前端开发的过程中离不开对浏览器开发者工具的使用,我们在日常开发的过程中用的最多的应该就是 控制台 / Console、元素 / Elements 和 网络 / Network 这三个面板,它们可以用来查看打印日志、D...
TCP协议是如何保证页面文件能被完整的送达到浏览器的?
基于上篇的浏览器架构,我们知道了打开一个页面,为什么至少会有四个进程出现。接下来,我们一起来讨论一下,服务端的页面文件是如何被完整的送达到浏览器的,这一中间经历了哪些过程,以及如何...
devTools之Network面板
Network面板的作用是在devTools打开的时候记录网络活动。如下图所示,Network面板可以分为七个部分: 控制器 过滤器 设置 抓图信息 时间线 资源请求列表 资源请求信息概要 控制器 录制/停止网络...
10个前端必备的浏览器技能,让你的网页更优秀
作为一名前端开发者,熟练掌握浏览器的相关技能是必不可少的。因为不仅仅要做出能够兼容不同浏览器的页面,还要保证页面的性能、安全性和访问速度等方面。在本文中,我们将为您介绍10个前端必备...
前端程序员必须要知道的跨域问题以及解决方法(2)
前言 跨域问题是面试的常考点,之前我写过一篇关于跨域问题的文章: 前端程序员必须要知道的跨域问题以及解决方法(1) - 掘金 (juejin.cn) 文章中提到了两种解决跨域的方法;当然解决跨域不只...
重绘与重排的区别
在网页渲染过程中,重绘(Repaint)和重排(Reflow)是两个重要的概念,它们描述了浏览器对DOM元素进行布局和渲染的不同阶段。 重排: 重排指的是浏览器计算和确定元素在页面中的位置和大小的过...
纯前端如何原生处理数据压缩
随着前端技术的快速发展,在浏览器里能做的事情越来越多,我们的web应用也变得越来越复杂,处理的数据量越来越大,很多之前需要交给服务端或者需要其他语言编写的库再编译成JS使用,亦或者有些...
浏览器获取资源的几种方式
一、前言 浏览器的本质就是加载外部资源、解析外部资源、面向用户展示、面向用户交互,它是一个非常复杂的应用程序,每一个tab都是一个进程,每一个进程都有自己的GPU线程、js引擎线程、网络IO...
浏览器输入URL后发生了什么
我正在参加「掘金·启航计划」 前言 你是否曾经想过,当你在浏览器中输入一个URL并按下回车键后,会发生什么事情?这个简单的动作背后隐藏着一系列复杂而精密的过程。在本篇博客中,我们将深入...
使用浏览器插件提升前端项目调试速度
前言 基于公司项目扩展出来的一个技术方案,项目是农牧项目,项目中的权限为: 单位 > 猪场 > 用户 , 下面的技术方案是解决开发过程中切换到有问题的单位和猪场,根据特定数据快速复现bug...
剑走偏锋,无头浏览器是什么神奇的家伙
公众号「古时的风筝」,专注于后端技术,尤其是 Java 及周边生态。 大家好,我是风筝 浏览器是再熟悉不过的东西了,几乎每个人用过,比如 Chrome、FireFox、Safari,尤其是我们程序员,可谓开发...
浏览器的调试与开发
浏览器的调试与开发 ? 前言: 网页主要是运行在浏览器上, 主要由HTML、CSS、JS三部分组成, 比作一个人的话,HTML是身体、CSS是衣服、JS是动作, 下面主要介绍通过浏览器的调试工具,了解前端...
学会使用"条件断点"来解放你的鼠标
(PS:对调试较为熟悉却没有使用过条件断点的同学可以直接翻到文章底部看操作的GIF图~) 一、背景 'Debug'想必大家在开发的过程中也是有经常使用的,这里简单的介绍一下浏览器'Debug'其中的两...
Web开发中的强缓存和协商缓存策略(二)
Web开发中的强缓存和协商缓存策略(二) 一. 相关参数 1. 强缓存 Expires Expires是HTTP/1.0中定义的一个响应头字段,它表示资源的过期时间,即在这个时间之前,浏览器可以直接从浏览器缓存中获...
什么?Mutation events将要从 Chrome 中移出?
前言 如图,Chromium将要在127版本之后,移出对 mutation events 的支持,时间是2024年7月30号。博文具体信息可参见:Mutation events will be removed from Chrome 看到文章标题的第一反应是震...