首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
浏览器原理
订阅
niexia
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理
见解有限,如有描述不当之处,请帮忙及时指出,如有错误,会及时修正。 ----------超长文+多图预警,需要花费不少时间。---------- 如果看完本文后,还对进程线程傻傻分不清,不清楚浏览器多进程、浏览器内核多线程、JS单线程、JS运行机制的区别。那么请回复我,一定是我…
浏览器的回流与重绘 (Reflow & Repaint)
浏览器使用流式布局模型 (Flow Based Layout)。 浏览器会把HTML解析成DOM,把CSS解析成CSSOM,DOM和CSSOM合并就产生了Render Tree。 有了RenderTree,我们就知道了所有节点的样式,然后计算他们在页面上的大小和位置,最后把节点…
「前端进阶」从多线程到Event Loop全面梳理
几乎在每一本JS相关的书籍中,都会说JS是单线程的,JS是通过事件队列(Event Loop)的方式来实现异步回调的。 对很多初学JS的人来说,根本搞不清楚单线程的JS为什么拥有异步的能力,所以,我试图从进程、线程的角度来解释这个问题。 计算机的核心是CPU,它承担了所有的计算…
如何在 Web 关闭页面时发送 Ajax 请求
有时候我们需要在用户离开页面的时候,做一些上报来记录用户行为。又或者是发送服务器ajax请求,通知服务器用户已经离开,比如直播间内的退房操作。 本文主要分两部分来讲解怎么完成退出行为的上报。 浏览器有两个事件可以用来监听页面关闭,beforeunload和unload。 bef…
【译】你不知道的Chrome调试工具技巧 第六天:command 菜单
本文是作者 Tomek Sułkowski 发布在 medium 上的一个系列。据作者透露一共有24篇,一直更新到12月24日 版权归原作者所有。 译者在翻译前已经和作者沟通得到了翻译整个系列的授权。 在马上就要迎来假期的这 24 天里,我将会发布一系列短篇的文章,关于如何更加…
[译] 现代浏览器内部揭秘(第二部分)
这是关于 Chrome 内部工作的 4 篇博客系列的第 2 篇。在上一篇文章中,我们研究了不同的进程和线程如何处理浏览器的不同部分。在这篇文章中,我们会更深入研究每个进程和线程如何进行通信以展示网站。 让我们看一个网络浏览的简单用例:你在浏览器中键入 URL,然后浏览器从互联网…
localStorage 还能这么用
只知道用 localStorage 存储键值对,那你就 out 了
如何机智地回答浏览器兼容性问题
有过面试经验的同学应该都被问过浏览器兼容性的问题,对于面试官的问题,常常猝不及防,因为通常他们都是这么问的。"来谈谈浏览器兼容的问题吧","你对浏览器的兼容性有了解过吗",那么如何才是我们正确回答这个问题的姿势呢。 在CSS3还没有成为真正的标准时,浏览器厂商就开始支持这些属性…
常见六大Web安全攻防解析
在互联网时代,数据安全与个人隐私受到了前所未有的挑战,各种新奇的攻击技术层出不穷。如何才能更好地保护我们的数据?本文主要侧重于分析几种常见的攻击的类型以及防御的方法。 XSS (Cross-Site Scripting),跨站脚本攻击,因为缩写和 CSS重叠,所以只能叫 XSS…
JS线程、Event Loop、事件循环、任务队列、宏任务
1. 前言 很多文章在介绍线程以及线程之间的关系,都存在着脱节的现象。还有的文章过于广大,涉及到了内核,本文希望以通俗易懂的话去描述晦涩的词语,可能会和实际有一丢丢的出入,但是更易理解。 我们都知道JS是单线程的,即js的代码只能在一个线程上运行,也就说,js同时只能执行一个j…