页面加载的几种方式和区别

article/2025/10/16 14:13:50

目录

  • 页面加载的几种方式
  • DOM文档加载步骤
  • 原生JS的 ready阶段 执行方法怎么写?
  • 全部方式的演示代码
  • window和document的区别

页面加载的几种方式(原生JS和jQuery)

第1种:window.onload = function(){}; 第2种:$(window).load(function(){});
  • 都是在页面全部加载完成(引用文件,图片等等资源都加载完毕时)执行的;
  • 其中第1种:window.onload = function(){}; 只能执行一个;当有多个时,只执行最后一个;
  • 而第2种:$(window).load(function(){}); 可以执行多个;
第3种:$(document).ready(function(){}); 第4种:$(function(){});
  • 第4种是第3种的简写形式
  • 都是在DOM元素加载完毕后便可执行的 (页面全部内容如图片等资源加载完毕前)

DOM文档加载步骤

  1. 解析html结构
  2. 加载外部脚本和样式表文件
  3. 解析并执行脚本代码
  4. 构造HTML DOM模型 // ready 第3,4种
  5. 加载图片等外文件
  6. 页面加载完毕 // onload 第1,2种

原生JS的 ready阶段 执行方法怎么写?

有没有发现,上面四种方式里并没有原生JSready阶段执行的方式:
下面给出原生JS中:如何在DOM加载完之后执行某段代码
效果同$(document).ready(function(){});

document.addEventListener('DOMContentLoaded',function(){// DOM 渲染完即可执行,此时图片,视频还可能没有加载完console.log('原生JS: DOMContentLoaded');
},false)

第1种:window.onload = function(){}; 同理也可写为:

window.addEventListener('load', function () {// 页面的全部资源加载完才会执行,包括图片,视频等console.log('原生JS: load 1');
})

addEventListener()方法即使给同一个元素绑定了两次或多次相同类型的事件,绑定也依次触发
有关事件绑定:JS事件绑定 事件冒泡与捕获 事件代理

全部方式的演示代码

最直白的方式就是看代码啦┗( ▔, ▔ )┛

window.onload = function(){console.log('原生JS:window.onload 1');
}
window.onload = function() {console.log('原生JS:window.onload 2')
}$(window).load(function(){console.log('Jquery:$(window).load() 1')
})
$(window).load(function(){console.log('Jquery:$(window).load() 2')
})$(document).ready(function(){console.log('Jquery:$(document).ready(...) 1')
})
$(document).ready(function(){console.log('Jquery:$(document).ready(...) 2')
})$(function(){console.log('Jquery:$(function(){}) 1')
})
$(function(){console.log('Jquery:$(function(){}) 2')
})document.addEventListener('DOMContentLoaded',function(){// DOM 渲染完即可执行,此时图片,视频还可能没有加载完console.log('原生JS:监听 DOMContentLoaded');
},false)window.addEventListener('load', function () {// 页面的全部资源加载完才会执行,包括图片,视频等console.log('原生JS:监听 load 1');
})window.addEventListener('load', function () {// 页面的全部资源加载完才会执行,包括图片,视频等console.log('原生JS:监听 load 2');
})

输出如下:

// Jquery:$(document).ready(...) 1
// Jquery:$(document).ready(...) 2
// Jquery:$(function(){}) 1
// Jquery:$(function(){}) 2
// 原生JS:监听 DOMContentLoaded
// 原生JS:window.onload 2
// Jquery:$(window).load() 1
// Jquery:$(window).load() 2
// 原生JS:监听 load 1
// 原生JS:监听 load 2

在上面的几种方式中,分别含有windowdocument
那么,你知道它们的区别么?

window和document的区别

  • window
    window对象表示浏览器中打开的窗口
    window对象可以省略,例如:alert() 等价于 window.alert()

  • document
    document对象是window对象的一部分
    例如:document.body 等价于 window.document.body
    浏览器的html文档称为document对象(即整个页面的dom元素)

两者的区别在页面具有滚动条的时候可以直观的显示出来。
当出现垂直滚动条时:$(window).height < $(document).height;
因为window的高度始终是浏览器可视窗口的高度,而document的高度是整个页面dom元素的高度(超出屏幕了)

在这里插入图片描述


http://chatgpt.dhexx.cn/article/uOUkSbKT.shtml

相关文章

页面加载过程(url->页面)

当我们在浏览器输入URL地址开始&#xff0c;到web页面加载完毕&#xff0c;这个过程称作网页加载过程。具体如下&#xff1a; 在浏览器地址栏输入URLDNS域名解析发送HTTP请求服务器接收请求做出响应浏览器解析渲染页面 1.浏览器接受URL开启网络请求线程&#xff08;涉及到&…

登录校验总结1.0

登录校验 问题分析 基础的登录功能&#xff1a; 接受前端请求传递的用户名和密码&#xff0c;然后再根据用户名和密码查询用户信息&#xff0c;如果用户信息存在&#xff0c;则说明用户输入的用户名和密码正确。如果查询的用户不存在&#xff0c;则说明输入的用户名和密码错误…

java 令牌解析_Java JWT的令牌机制

JWT 简单介绍 全称 Json Web Token 致力于网络安全的一套Json开放标准 主要流程 将用户部分信息进行加密&#xff0c;生成一套令牌&#xff0c;存放于客户端 客户端发起请求时&#xff0c;带入此令牌&#xff0c;交由服务端识别令牌真伪 服务端校验完成&#xff0c;开放部分权限…

JWT令牌

1.普通令牌的问题 客户端申请到令牌&#xff0c;接下来客户端携带令牌去访问资源&#xff0c;到资源服务器将会校验令牌的合法性。 从第4步开始说明&#xff1a; 1、客户端携带令牌访问资源服务获取资源。 2、资源服务远程请求认证服务校验令牌的合法性 3、如果令牌合…

Openresty(十五)通过lua实现令牌校验

一 模块地址 &#xff08;1&#xff09;插件安装 "安装方式"1.opm安装 -->默认安装的位置opm get SkyLothar/lua-resty-jwt2.源码安装,进行copy -->不建议 参考博客 网关权限控制 &#xff08;2&#xff09;常用方法介绍 ① sign 功能&#xff1a…

JWT(JSON WEB TOKEN)

JSON WEB TOKEN简称JWT&#xff0c;是用于对应程序上的用户进行身份验证的标记。也就是说&#xff0c;使用JWTS的应用程序不再需要保存有关其用户的cookie和session数据。此特性便于可伸缩性&#xff0c;同时保证应用程序的安全。 格式 JWT就是一个字符串&#xff0c;经过加密…

JWT令牌技术

JWT令牌 全称&#xff1a;JOSN Web Token(https://jwt.io/) 定义了一种简介的、自包含的格式&#xff0c;用于在通信双方以JSON数据格式安全的传输信息。犹豫数字签名的存在&#xff0c;这些信息是可靠的。 通过base64编码 JWT的组成&#xff1a; &#xff08;JWT令牌由三个…

2 Go语言JSON与XML解析与表单操作

2 Go语言JSON与XML解析与表单操作 1 数据交互的格式2 JSON方式2.1 JSON序列化2.2 JSON反序列化2.3 解析到interface 3 XML方式3.1 解析XML3.2 生成XML 4 字段校验5 文件上传2.1 前后端模拟上传2.2 go客户端模拟上传 3 防止重复提交 1 数据交互的格式 常见的数据交互格式有&…

C++中json解析开源库收集,支持json5

文章目录 zpl-c 库HJSONcJSONRapidJSON &#xff08;推荐&#xff09;DAW JSON Link v2JSON &#xff0c;这库稳定&#xff0c;文档齐全。(推荐)json-c &#xff08;c实现&#xff09;json_dto (一个小的头文件助手)json11 ( C11 的小型 JSON 库 )json_spirit (开发中&#xff…

SpringBoot之JWT令牌

目录 介绍 生成和校验 登录下发令牌 介绍 JWT全称&#xff1a;JSON Web Token &#xff08;官网&#xff1a;https://jwt.io/&#xff09; 定义了一种简洁的、自包含的格式&#xff0c;用于在通信双方以json数据格式安全的传输信息。由于数字签名的存在&#xff0c;这些信…

七 微服务网关gateWay和Jwt令牌

之前写过一篇微服务网关Zuul&#xff0c;今天介绍gateWay&#xff0c;二者大同小异&#xff0c;但各有优势&#xff0c;大家可以都了解一下&#xff0c;拓展自己的知识面&#xff1b; 一 微服务网关 主要作用 整合各个微服务功能&#xff0c;形成一套系统在微服务网关中实现…

登录校验-会话技术/JWT令牌

登录校验 会话技术 会话&#xff1a; 用户打开浏览器&#xff0c;访问web资源的时候&#xff0c;会话建立。直到一方断开连接&#xff0c;会话结束&#xff0c;一次会话中包含多次响应 会话跟踪&#xff1a;一种维护浏览器状态的方法&#xff0c;服务器需要识别多次请求是否来…

服务的校验Content-Type,只接收application/json格式的CSRF绕过方法

如何在JSON端点上利用CSRF漏洞 转载自&#xff1a;https://www.freebuf.com/articles/web/164234.html Alpha_h4ck &#xff08;CSRF Flash HTTP 307&#xff09;别说了&#xff0c;你已经“死”了&#xff01; 如果你想通过第三方攻击者控制的服务器在JSON端点利用一个CS…

nginx 限流,以及nginx直接返回json格式数据

高并发系统有三把利器用来保护系统&#xff1a;缓存、降级和限流 今天我们这里说说限流。一般会在应用层配合redis做限流策略&#xff0c;这里我们聊聊nginx层限流。 限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行限速来保护系统&#xff0c;一旦达…

JWT-JSON Web令牌的深入介绍

JWT-JSON Web令牌的深入介绍 从桌面应用程序到Web应用程序或移动应用程序&#xff0c;身份验证是几乎所有应用程序中最重要的部分之一。 本教程是JWT&#xff08;JSON Web令牌&#xff09;的深入介绍&#xff0c;可帮助您了解&#xff1a; 基于会话的身份验证与基于令牌的身份…

JSON Web Token原理深入理解

什么是JWT JWT全称Json Web Token&#xff0c;翻译为JSON格式的网络令牌&#xff0c;很多时候又简称为Token(JWT是Token的一种实现方式)。它要解决的问题&#xff0c;就是为多种终端设备&#xff0c;提供统一的、安全的令牌格式。因此&#xff0c;JWT只是一个令牌格式而已&…

【JWT】jwt令牌研究

一、JWT介绍 在介绍JWT之前先看一下传统校验令牌的方法&#xff0c;如下图&#xff1a; 问题&#xff1a; 传统授权方法的问题是用户每次请求资源服务&#xff0c;资源服务都需要携带令牌访问认证服务去校验令牌的合法性&#xff0c;并根据令牌获取用户的相关信息&#xff0c…

JWT令牌验证

JWT令牌验证 jwt的由来及解决的问题JWT的工作原理JWT组成重点&#xff1a;JWT实现验证&#xff1a;4.1 首先前后端跨域配置&#xff1a;4.2 jwt配置&#xff1a;4.3 web.xml配置&#xff1a;4.4 登录成功时生成jwt令牌前端NodeJs服务器配置拦截器&#xff0c;配置在http目录下4…

如何使用JSON Web令牌(JWT)保护您的文档

如何使用JSON Web令牌&#xff08;JWT&#xff09;保护您的文档 在本文中&#xff0c;我们讲解如何使用JSON网络令牌JWT来保护在线文档免受未经授权的访问&#xff0c;从而可以更安全的把在线文档编辑器开发集成进您自己的网络应用中去。 这里将集成开源的办公套件ONLYOFFICE …

day13 SpringBoot案例3 令牌技术、登录校验

登录校验的实现思路是怎样的&#xff1f; 项目中访问核心资源&#xff0c;通常都要进行登录校验&#xff0c;访问京东商城的订单&#xff0c;必须要先登录才能访问查询 实现思路: 可以在访问资源前进行访问的拦截&#xff0c;判断你当前会话是否有登录&#xff0c;如果没有登…