iframe框架,原生js路由

简介: 该标签规定一个内联框架。被用来在当前 HTML 文档中嵌入另一个文档。可以把需要的文本放置在 和 之间

一、iframe框架

  1. iframe 标签

该标签规定一个内联框架。被用来在当前 HTML 文档中嵌入另一个文档。

可以把需要的文本放置在 frameLabelStart--frameLabelEnd 之间

  1. 属性汇总
属性 描述
align 规定如何根据周围的元素来对齐

二、原生js路由

🎗 基于 hash( location.hash+hashchange事件)
展示层面也就是切换 # 后面的内容,呈现给用户不同的页面

特性:

url 中 hash 值的变化并不会重新加载页面 hash
值的改变,可以在浏览器的访问历史中增加一个记录,也就是能通过浏览器的回退、前进按钮控制 hash 的切换

可以通过 hashchange 事件,监听到 hash 值的变化,从而响应不同路径的逻辑处理

🎗基于 history 新 API( history.pushState()+popState 事件)

window.history.pushState(null, null, "http://www.google.com");

🎗相同之处:
都会操作浏览器的历史记录,而不会引起页面的刷新。
不同之处在于:
pushState 会增加一条新的历史记录,而 replaceState 则会替换当前的历史记录

🎗实现前端路由

(1) hash 实现

当 一个窗口的 hash (URL 中 # 后面的部分)改变时就会触发 hashchange 事件

hash 是 URL 中 hash (#) 及后面的那部分,常用作锚点在页面内进行导航,改变 URL 中的 hash 部分不会引起页面刷新

通过 hashchange 事件监听 URL 的变化,改变 URL 的方式只有这几种:通过浏览器前进后退改变 URL、通过 <a>
标签改变 URL、通过window.location改变URL,这几种情况改变 URL 都会触发 hashchange 事件

(2) history 实现

history.pushState() 和history.replaceState方法,它们分别可以添加和修改历史记录条目

history 有 pushState 和 replaceState 两个方法,这两个方法改变 URL 的 path 部分不会引起页面刷新

  • replaceState() 方法

history.replaceState() 的使用与 history.pushState() 非常相似,区别在于

replaceState() 是修改了当前的历史记录项而不是新建一个。 注意这并不会阻止其在全局浏览器历史记录中创建一个新的历史记录项。

replaceState() 的使用场景在于为了响应用户操作,你想要更新状态对象state或者当前历史记录的URL。

  • popstate 事件
popstate事件就会在对应window对象上触发.

调用history.pushState()或者history.replaceState()不会触发popstate事件.
popstate事件只会在浏览器某些行为下触发, 比如点击后退、前进按钮(或者
在JavaScript中调用history.back()、history.forward()、history.go()方法).

目录
相关文章
|
18天前
|
存储 缓存 JavaScript
构建高效后端服务:Node.js与Express框架的实战应用
【8月更文挑战第2天】在数字化时代的浪潮中,后端服务的构建成为了软件开发的核心。本文将深入探讨如何利用Node.js和Express框架搭建一个高效、可扩展的后端服务。我们将通过实际代码示例,展示从零开始创建一个RESTful API的全过程,包括路由设置、中间件使用以及数据库连接等关键步骤。此外,文章还将触及性能优化和安全性考量,旨在为读者提供一套完整的后端开发解决方案。让我们一同走进Node.js和Express的世界,探索它们如何助力现代Web应用的开发。
|
13天前
|
JSON 数据安全/隐私保护 数据格式
Nest.js 实战 (八):基于 JWT 的路由身份认证鉴权
这篇文章介绍了身份验证的重要性和多种处理策略,重点放在了JWT(JSON Web Token)认证在Nest.js框架中的应用。文章包含了JWT认证的流程,如何在Nest.js中实现,以及如何创建JWT认证策略。包括了安装依赖,创建处理认证流程的文件,以及如何使用HttpException过滤器来处理未登录访问。
Nest.js 实战 (八):基于 JWT 的路由身份认证鉴权
|
16天前
|
JavaScript 前端开发 测试技术
Node.js新手框架推荐
【8月更文挑战第4天】Node.js新手框架推荐
26 3
|
16天前
|
弹性计算 JavaScript 中间件
构建高效后端服务:使用Node.js和Express框架
【8月更文挑战第4天】本文将通过一个实际案例,详细介绍如何使用Node.js和Express框架快速构建一个高效、可扩展的后端服务。我们将从项目初始化开始,逐步实现RESTful API接口,并介绍如何利用中间件优化请求处理流程。最后,我们将展示如何部署应用到云服务器上,确保其高可用性和可扩展性。
|
20天前
|
开发框架 前端开发 JavaScript
在基于ABP框架的前端项目Vue&Element项目中采用日期格式处理,对比Moment.js和day.js的处理
在基于ABP框架的前端项目Vue&Element项目中采用日期格式处理,对比Moment.js和day.js的处理
|
5天前
|
JavaScript 前端开发 Ubuntu
如何在 VPS 上安装 Express(Node.js 框架)并设置 Socket.io
如何在 VPS 上安装 Express(Node.js 框架)并设置 Socket.io
12 0
|
9天前
|
设计模式 JavaScript 前端开发
现代JavaScript框架比较:React、Vue和Angular
在现代Web开发中,JavaScript框架已成为开发高效、动态用户界面的关键工具。本文将深入比较三大主流框架:React、Vue和Angular。通过探讨它们的核心特性、优缺点和适用场景,帮助开发者根据项目需求选择最合适的框架。重点分析包括性能、学习曲线、社区支持和生态系统等方面,以便开发者能够做出明智的决策,优化开发流程并提升应用性能。
|
20天前
|
JavaScript 前端开发 中间件
构建高效后端服务:Node.js与Express框架的深度探索
【7月更文挑战第31天】在快速迭代的技术浪潮中,Node.js和Express框架已成为构建灵活、高效后端服务的利器。本文将深入探讨如何利用这一组合打造高性能后端系统,同时分享实际开发中的经验和技巧。
19 0
|
设计模式 前端开发 JavaScript
100行代码让您学会JavaScript原生的Proxy设计模式
100行代码让您学会JavaScript原生的Proxy设计模式
124 0
100行代码让您学会JavaScript原生的Proxy设计模式

热门文章

最新文章