前端页面跳转

简介: 功能

前端页面跳转、刷新

一、location.href的用法

let url = "www.baidu.com";

1、当前页面打开url页面

self.location.href="url";
// 等同于
this.location.href="url";
window.location.href="url";
location.href="url"; 

2、在父窗口打开此url窗口

parent.location.href="url";

3、在顶层页面打开url(跳出框架)

top.location.href="url";

4、附1:刷新当前页面

  • Ⅰ、window.location.href=window.location.href有提交数据时,则是向指定的url提交数据
  • Ⅱ、window.location.Reload(),有提交数据时,会提示是否提交
  • Ⅲ、window.location.replace()可以导向另外一个URL

案例说明:

如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe

D中的js:

"window.location.href"、"location.href":D页面跳转
"parent.location.href":C页面跳转
"top.location.href":A页面跳转

D页面中有form:

<form>: form提交后D页面跳转
<form target="_blank">: form提交后弹出新页面
<form target="_parent">: form提交后C页面跳转
<form target="_top"> : form提交后A页面跳转

页面刷新,D 页面:

"parent.location.reload()": C页面刷新 (也可以使用子窗口的 opener 对象来获得父窗口的对象: window.opener.document.location.reload()

"top.location.reload()": A页面刷新

5、window.location.replace和window.location.href区别

当在微信公总号中 点击手机系统自带的默认返回按钮时:页面直接退出了公众号而不是返回到上一页, 是因为,跳转当前页的时候没有记录历史路由,用的是window.location.replace,而不是window.location.href或者vue-router

有3个页面 a,b,c,如果当前页面是c页面,并且c页面是这样跳转过来的:a->b->c

  • Ⅰ:b->c 是通过window.location.replace("..xx/c") 此时b页面的url会被c页面代替,并且点击后退按钮时会回退到a页面(最开始的页面)可以用来刷新页面
  • Ⅱ:b->c是通过window.location.href("..xx/c") 此时b页面的路径会被c页面代替,但是点击回按钮后页面回退的是b页面
两者的区别: 两者后退时所回退的页面不一样

6、附2:自动刷新(HTML实现)

页面自动刷新:把如下代码加入<head>区域中

<!-- 2指每隔2秒刷新一次页面 -->
`<meta http-equiv="refresh" content="2">`

页面自动跳转:把如下代码加入<head>区域中

<!-- 2指隔2秒后跳转到`http://www.baidu.com`页面 -->
`<meta http-equiv="refresh" content="2;url=http://www.baidu.com">`

二、window.open的用法

1、语法:

window.open(strUrl, strWindowName, [strWindowFeatures])

strUrl:要在新打开的窗口中加载的URL。

strWindowName:新窗口的名称。

可选的参数如下

  • _blank :打开一个新的标签页。这个是默认值
  • _parent :父页面打开
  • _self :当期页面打开
  • _top :顶层页面打开
  • name:窗口名称

strWindowFeatures:这是一个可选参数,列出新窗口的特征。

2、Location.href属性与window.open()方法的区别:

  • Location.href属性是对当前浏览器窗口的URL地址对象的参考;window.open()方法打开一个新的窗口。
  • Location.href属性一般用于页面的迭代,也就是重新定位当前页
  • window.open()方法可以通过新开窗口或者说新开标签页打开一个网址,而location.href属性只能在当前页打开一个网址。

3、附:返回页面

window.history.back(); // 返回到上一页(在当前窗口 )
window.history.go(-1);

三、navigate

【说明】:navigate的效果是在当前页面直接跳转至指定路由,当前页面会被覆盖掉,而且不会对跳转后的页面数据进行刷新,也就是说,跳转后的页面显示的还是旧数据。

假设指定需要跳转的目标路由是“/class/student”。

this.router.navigate(['/class/student'])

四、document.getElementById("a标签id").click();

【说明】:这种方式的效果是执行代码自动触发html中id为openStudent的a标签中的链接,进而跳转进入指定页面,这样就不用手动点击a标签的链接进入指定页面。

假设指定需要跳转的目标路由是“/class/student”。

document.getElementById("openStudent").click();

五、routerLink

【说明】:a标签中使用[routerLink],手动点击a标签中的链接,[routerLink]的效果是另外打开一个页面,在新页面中进入指定路由“/class/student”并且会刷新页面数据,而不是在当前页面直接跳转至指定路由,如果路由“/class/student”已经在其他页面打开,那么[routerLink]会直接跳转至路由“/class/student”对应的页面,但不会刷新页面数据。

假设指定需要跳转的目标路由是“/class/student”。

<a class="btn " appClick [target]='"blank"' [routerLink]='/class/student' ><span id="openStudent">进入学生信息界面</span></a>

routerLink的几种写法:

  • (1).[routerLink]='/class/student':斜杠开头表示使用绝对路径进行路由导航;
  • (2).[routerLink]='../student':两个点开头表示相对于父路径进行路由导航;
  • (3).[routerLink]='./student':一个点开头表示相对于当前路径进行路由导航。
目录
相关文章
|
8月前
|
前端开发 开发者 iOS开发
【Flutter前端技术开发专栏】Flutter中的路由管理与页面跳转
【4月更文挑战第30天】本文介绍了Flutter的路由管理与页面跳转,包括基本和命名路由管理。基本路由使用`Navigator`的`push`和`pop`方法,如`MaterialPageRoute`和`CupertinoPageRoute`。命名路由则通过路由表注册名称进行跳转,如`Navigator.pushNamed`。此外,还展示了如何通过构造函数、`arguments`和`PageRouteBuilder`进行路由传值。掌握这些知识能提升Flutter开发效率。
162 0
【Flutter前端技术开发专栏】Flutter中的路由管理与页面跳转
|
3月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
256 14
|
3月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
69 0
|
3月前
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
|
3月前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
3月前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
168 1
|
3月前
|
前端开发 算法 测试技术
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
本文对比测试了通义千文、文心一言、智谱和讯飞等多个国产大模型在处理基础计数问题上的表现,特别是通过链式推理(COT)提示的效果。结果显示,GPTo1-mini、文心一言3.5和讯飞4.0Ultra在首轮测试中表现优秀,而其他模型在COT提示后也能显著提升正确率,唯有讯飞4.0-Lite表现不佳。测试强调了COT在提升模型逻辑推理能力中的重要性,并指出免费版本中智谱GLM较为可靠。
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
|
4月前
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
5月前
|
存储 前端开发 JavaScript
前端语言串讲 | 青训营笔记
前端语言串讲 | 青训营笔记
56 0
|
7月前
|
JSON 前端开发 JavaScript
前端Ajax、Axios和Fetch的用法和区别笔记
前端Ajax、Axios和Fetch的用法和区别笔记
142 2

热门文章

最新文章