浏览器知识点
时间:2021-09-01
本文章向大家介绍浏览器知识点,主要包括浏览器知识点使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
目录
如何实现浏览器内多个标签页之间的通信
- websocket
- localStorage
- cookie + setInterval(定时器)
- SharedWorker
严格模式和混杂模式
- 严格模式(标准模式),浏览器按照W3C标准(以其支持的最高标准)来解析代码,呈现页面。
- 混杂模式(怪异模式),浏览器以比较宽松的向后兼容的方式来解析代码,呈现页面。
如何触发?
DOCTYPE不存在或形式不正确会触发混杂模式,DOCTYPE符合严格模式规范的会触发严格模式
如何判断?
通过document.compatMode属性来判断:
- BackCompat:混杂模式(严格模式关闭)
- CSS1Compat:严格模式(严格模式开启)
浏览器的存储有哪些?它们之间的区别?
区别项 | cookie | sessionStorage | localStorage | indexDB |
---|---|---|---|---|
存储大小 | 4k | 5MB | 5MB | 无限 |
通信 | http头中 | 不参与服务器通信,仅在本地 | 同sessionStorage | 同sessionStorage |
生命周期 | 自己设置或默认浏览器关闭 | 页面或浏览器关闭 | 永久有效,除非自行删除或清除缓存 | 永久有效,除非自行删除或清除缓存 |
作用域 | 同源窗口是共享的 | 不在不同浏览器窗口共享,即使是同一个页面 | 同源窗口是共享的 | 同源窗口是共享的 |
易用性 | 原生接口不友好,需要自己封装 | 原生接口友好 | 原生接口友好 | 按需封装 |
输入URL后发生了什么?
- DNS域名解析;
- 建立TCP连接;
- 发起HTTP请求;
- 接收HTTP响应;
- 解析并渲染页面;
- 关闭TCP连接。
浏览器渲染的步骤
- 构建节点树DOM Tree
- 构建CSS规则树CSSOM Tree
- 构建渲染树Render Tree
- 布局渲染树Layout of the render tree
- 绘制渲染树Painting the render tree
参考资料
如何阻止事件传播和阻止默认行为?
- 阻止事件传播: e.stopPropagation()
- 阻止默认行为: e.preventDefault()
什么是跨域?
当协议、子域名、主域名、端口号中任意一个不相同时,都算作不同域。不同域之间相互请求资源,就算作“跨域”。
怎样解决跨域问题?
- JSONP
- CORS
- postMessage
- Websocket
- Node中间件代理(两次跨域)
- Nginx反向代理
- window.name + iframe
- location.hash + iframe
- document.domain + iframe
日常使用最多的是2和6,即CORS和Nginx反向代理。
参考资料
浏览器的缓存机制
原文地址:https://www.cnblogs.com/kuki/p/15215048.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 获取指定时间内指定星期几的所有日期
- 使用JSP的标准标签库JSTL处理XML格式的数据
- (一)初识Mybatis-Plus
- org.apache.tomcat.util.scan.StandardJarScanner找不到serializer.jar的问题
- JAVA中获取当前系统时间
- 使用Supervisor管理进程
- vue 中使用threejs
- 数据库COUNT(*)、COUNT(字段)和COUNT(1)的异同
- 生成项目目录树
- 几行代码搞定智能插座控制丨云开发 × 涂鸦
- Elasticsearch Mapping是啥?
- 求水仙花数面试题 撸它
- 字典序???你是啥
- 【特征工程】时序特征挖掘的奇技淫巧
- 【Hive】Hive 的基本认识