道招
CKEditor系列(三)粘贴操作是怎么完成的
在上一篇文章 CKEditor系列(二)事件系统是怎么实现的 中,我们了解了CKEditor中事件系统的运行流程,我们先简单回顾下: 用户注册回调函数时可以指定优先级,值越小的优先级越高,默认是10 系统会根据用户的传参组装成系统规范的回调函数,供后续执行 执行回调函数时可以将取消事件和阻止事件,不让其它监听该事件的回调函数执行。 当插件希望对paste事件进行响应,一般
CKEditor系列(二)事件系统是怎么实现的
CKEditor的事件系统的源代码在core/event.js里面 我们看看整个事件系统的实现过程 事件监听on CKEDITOR.event.prototype = ( function() { // Returns the private events object for a given object. var getPrivate = function( obj
《浏览器工作原理与实践》笔记之HTTP2
HTTP/2 的多路复用 前面我们分析了 HTTP/1.1 所存在的一些主要问题:慢启动和 TCP 连接之间相互竞争带宽是由于 TCP 本身的机制导致的,而队头阻塞是由于 HTTP/1.1 的机制导致的。那么该如何去解决这些问题呢? 虽然 TCP 有问题,但是我们依然没有换掉 TCP 的能力,所以我们就要想办法去规避 TCP 的慢启动和 TCP 连接之间的竞争问题。 基于此,HTTP
《浏览器工作原理与实践》笔记之HTTP诞生到HTTP 1.1
HTTP 0.9 HTTP协议最早的版本是0.9版本,于1991年提出,其需求很简单——用来在网络之间传递 HTML 超文本的内容。 完整的请求流程如下: 因为 HTTP 都是基于 TCP 协议的,所以客户端先要根据 IP 地址、端口和服务器建立 TCP 连接,而建立连接的过程就是 TCP 协议三次握手的过程。 建立好连接之后,会发送一个 GET 请求行的信息,如GET /ind
CKEditor系列(一)CKEditor4项目怎么跑起来的
我们先看CKEditor的入口ckeditor.js,它里面有一部分是压缩版,压缩版部分对应的源码地址为src/core/ckeditor_base.js // src/core/ckeditor_base.js if ( !window.CKEDITOR ) { window.CKEDITOR = ( function() { var basePathSrcPattern
《浏览器工作原理与实践》笔记之事件循环队列
为了能让你更加深刻地理解事件循环机制,我们就从最简单的场景来分析,然后带你一步步了解浏览器页面主线程是如何运作的。 使用单线程处理安排好的任务 我们先从最简单的场景讲起,比如有如下一系列的任务: 任务 1:1+2 任务 2:20/5 任务 3:7*8 任务 4:打印出任务 1、任务 2、任务 3 的运算结果 现在要在一个线程中去执行这些任务,通常我们会这样编写代码:
《浏览器工作原理与实践》笔记之垃圾回收
先了解下垃圾回收领域的重要术语——代际假说和分代收集。 代际假说 第一个是大部分对象在内存中存在的时间很短,简单来说,就是很多对象一经分配内存,很快就变得不可访问; 第二个是不死的对象,会活得更久。 分代收集 在 V8 中会把堆分为新生代和老生代两个区域,新生代中存放的是生存时间短的对象,老生代中存放的生存时间久的对象。 新生区通常只支持 1~8M 的容量,由
《浏览器工作原理与实践》笔记之闭包问题解答
Q: function fn() { var a = 10 function f1() { console.log(a) }; function f2() { console.log('f2') }; f2(); }; fn(); 我在函数f2里打断点,当执行到函数f2时,chro
《浏览器工作原理与实践》笔记之从堆栈空间看闭包过程
基础 我们先看下面的代码 function foo(){ var a = "极客时间" var b = a var c = {name:"极客时间"} var d = c } foo() 执行第 4 行代码,由于 JavaScript 引擎判断右边的值是一个引用类型,这时候处理的情况就不一样了,JavaScr
《浏览器工作原理与实践》笔记之JavaScript是如何支持块级作用域的
你已经知道 JavaScript 引擎是通过变量环境实现函数级作用域的,那么 ES6 又是如何在函数级作用域的基础之上,实现对块级作用域的支持呢? function foo(){ var a = 1 let b = 2 { let b = 3 var c = 4 let d = 5 console.log(a)
关注道招网公众帐号
道招开发者二群