博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端实用知识
阅读量:7251 次
发布时间:2019-06-29

本文共 912 字,大约阅读时间需要 3 分钟。

1、输入URL到显示网页,中间发生了什么

DNS(完成域名到IP的映射)-->TCP传输(三次握手建立传输链接)-->发送请求(分析url,设置请求头、主体)-->服务器返回请求文件(HTML文件)-->浏览器渲染页面(DOM tree渲染,css tree渲染,Rander tree渲染,layout布局,GPU完成像素渲染页面)

2、网络协议(七层)

物理层(以比特流为单位传输)-->数据链路层(封装桢,把数据从一个MAC传到另一个MAC)-->网络层(路径的选择,网络的转发)-->传输层(建立链接,传送报文,TCP、UDP)-->会话层(发起会话)-->表示层(数据表示方式的转化)-->应用层(面向用户,DNS、FTP、E-mail、HTTP)

3、页面的重绘和回流

  • 重绘(repaint):页面元素样式发生变化,但不引起结构布局改变时,浏览器只在UI层面进行重绘和更新,称为重绘。
  • 回流(reflow):页面的结构、布局或者操作触发某些属性,引起的浏览器重新就算、布局,称为回流。
    引起回流的操作:①页面的初次渲染 ②页面尺寸的改变 ③元素的尺寸、位置发生改变 ④字体的大小改变 ⑤删除、添加元素 ⑥激活伪类 ⑦触发某些属性(offsetWidth系列、clientWidth系列、scrollTop系列、getComputedStyle()、getBoundingClientRect()、scrollTo())

回流一定引起重绘,重绘不一定引起回流,重绘开销较小。

开发中的实践:①尽量使用更换class实现样式变化。②尽量减少DOM操作,把多次DOM操作,集中一次修改。

4、点透问题

描述:发生在z层的上下两层DOM元素,点击上层A元素时,A元素隐藏,下层B元素也触发点击事件的现象。

原因:click事件存在300毫秒延时。

解决方法:移动端使用touch事件。

click事件发生的过程:mousedown->mouseup->click

触摸屏幕上元素时:touchstart->mouseover->mousemove->mousedown->mouseup->click->touchend

转载地址:http://sohbm.baihongyu.com/

你可能感兴趣的文章
[LintCode/LeetCode] Find Median From / Data Stream Median
查看>>
Android开发套路收集整理与讨论
查看>>
代码规范的重要性,我已经放弃治疗
查看>>
笨办法学C 练习30:自动化测试
查看>>
mui初级入门教程(五)— 聊聊即时通讯(IM),基于环信 web im SDK
查看>>
[vs2008]Visual Studio 2008 SP1添加或删除功能提示查找SQLSysClrTypes.msi文件
查看>>
JS 设计模式二(封装)
查看>>
JavaScript “跑马灯”抽奖活动代码解析与优化(一)
查看>>
为什么我们选择 segmentfault 写作?
查看>>
多模型融合推荐算法在达观数据的运用
查看>>
JDK 11 马上就要来了!JDK 12 还会远吗?
查看>>
Kali Linux 2019.1 发布,Metasploit 更新到 5.0 版本
查看>>
【mysql的设计与优化专题(1)】ER图,数据建模与数据字典
查看>>
Jibo’s Name: How did we pick it?
查看>>
device's media capture mechanism,利用input:file调用设备的照相机/相册、摄像机、录音机...
查看>>
BroadLink:三款新品力求无障碍人机交互,三大平台分三期对外开放 ...
查看>>
掌门1对1获3.5亿美元E-1轮融资,华人文化产业基金、中金甲子基金等投资 ...
查看>>
Unity中的通用对象池
查看>>
ORA-00600: internal error code, arguments: [16703], [1403], [28], [...
查看>>
忆芯科技发布新一代国产主控芯片STAR1000P!4月完成量产版本 ...
查看>>