IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 【什么是DOM和BOM】 -> 正文阅读

[网络协议]【什么是DOM和BOM】

什么是DOM和BOM?

DOM?(Document?),简称文档对象模型。通过创建树来表示文档,描述了处理网页内容的方法和接口。用DOM API可以轻松地删除、添加和替换节点。

BOM (Browser object model),简称浏览器对象模型。描述了与浏览器进行交互的方法和接口

BOM的核心是window,而window对象又具有双重角色,它既是通过js访问浏览器窗口的一个接口,又是一个Global(全局)对象。这意味着在网页中定义的任何对象,变量和函数,都作为全局对象的一个属性和方法存在.

从window.document已然可以看出,DOM的最根本的对象是BOM的window对象的子对象document。推理如下:

  1. js是通过访问BOM对象来访问、控制、修改客户端(浏览器)。
  2. 由于BOM的window包含了document,window对象的属性和方法是可以直接使用而且被感知的,因此可以直接使用window对象的document属性,通过document属性就可以访问、检索、修改XHTML文档内容与结构。
  3. 因为document对象又是DOM模型的根节点,可以说BOM包含了DOM(对象)。
  4. 浏览器提供出来给予访问的是BOM对象,从BOM对象再访问到DOM对象,从而js可以操作浏览器以及浏览器读取到的文档。

如何是实现浏览器内多个标签页之间的通信?

1.定时器Setlnterval+Cookie

2LocalStaorge

3.WebSocket通讯

4.SharedWorker

5.postMessage

对DOMContentLoaded,load,beforeunload,unload几个页面生命周期事件的理解?

HTML 页面的生命周期包含三个重要事件:

  • DOMContentLoaded —— 浏览器已完全加载 HTML,并构建了 DOM 树,但像 <img> 和样式表之类的外部资源可能尚未加载完成。
  • load —— 浏览器不仅加载完成了 HTML,还加载完成了所有外部资源:图片,样式等。
  • beforeunload / unload —— 当用户正在离开页面时。

每个事件都是有用的:

  • DOMContentLoaded 事件 —— DOM 已经就绪,因此处理程序可以查找 DOM 节点,并初始化接口。
  • load 事件 —— 外部资源已加载完成,样式已被应用,图片大小也已知了。
  • beforeunload 事件 —— 用户正在离开:我们可以检查用户是否保存了更改,并询问他是否真的要离开。
  • unload 事件 —— 用户几乎已经离开了,但是我们仍然可以启动一些操作,例如发送统计数据。

总结
页面生命周期事件:

  • 当 DOM 准备就绪时,document 上的 DOMContentLoaded 事件就会被触发。在这个阶段,我们可以将 JavaScript 应用于元素。

??????诸如 <script>...</script> 或 <script src="..."></script> 之类的脚本会阻塞 ?DOMContentLoaded,浏览器将等待它们执行结束。

????????图片和其他资源仍然可以继续被加载。

  • 当页面和所有资源都加载完成时,window 上的 load 事件就会被触发。我们很少使用它,因为通常无需等待那么长时间。
  • 当用户想要离开页面时,window 上的 beforeunload 事件就会被触发。如果我们取消这个事件,浏览器就会询问我们是否真的要离开(例如,我们有未保存的更改)。
  • 当用户最终离开时,window 上的 unload 事件就会被触发。在处理程序中,我们只能执行不涉及延迟或询问用户的简单操作。正是由于这个限制,它很少被使用。我们可以使用 navigator.sendBeacon 来发送网络请求。

使用input标签上传图片时,怎样触发默认拍照功能?

使用 capture 属性(用于指定文件上传控件中媒体拍摄的方式)

可选值:

  • camera 打开摄像头
  • user 前置摄像头
  • environment 后置摄像头?
  • camcorder 录像
  • microphone 录音

iinput上传文件设置同时选择多张?

通过input标签设置multiple属性

<input type = "file" name="files" multiple/>

如何禁止input展示输入的历史记录?

在input中加入autocomplete=”off“

(autocomplete属性是用来规定输入字段是否自动完成的功能)

能否使用自闭合script标签引入脚本文件?

不能。自闭合标签来自于XML语法,而不是HTML语法。

页面统计数据中。常用的PV、UV指标分别是什么?

PV(页面访问量):用户每一次对网站中的每个网页访问均被记录一个PV

UV(独立访客):是一个反映实际使用者的概念,每个UV相对于每个IP,更加准确地对应一个实际的浏览者是一个反映实际使用者的概念,每个UV相对于每个IP,更加准确地对应一个实际的浏览者。

简单描述从输入网址到页面显示的过程?

大概过程如下:

  1. 输入网址
  2. DNS解析
  3. 发起TCP连接
  4. 客户端发送HTTP请求
  5. 服务器处理请求并返回HTTP报文
  6. 浏览器解析渲染页面
  7. 连接结束

HTTP1.0和HTTP2.0的区别

总的区别就是:

  1. HTTP/2采用二进制格式而非文本格式
  2. HTTP/2是完全多路复用的,而非有序并阻塞的——只需一个连接即可实现并行
  3. 使用报头压缩,HTTP/2降低了开销
  4. HTTP/2让服务器可以将响应主动“推送”到客户端缓存中

?

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:59:52  更:2022-03-10 23:00:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:32:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码