产品需要了解的几种网页跳转方式

产品的技术小课

共 2029字,需浏览 5分钟

 ·

2021-03-09 19:46

目录

1、单页面应用跳转
2、多页面应用跳转
3、锚点跳转
4、iframe跳转
5、网页的前进和后退
6、重定向

单页面应用跳转

什么是单页面应用?

单页面应用是由一个外壳html页面和多个页面片段组成的。(注:下文说的组件就是页面片段)

它根据当前路由来选择展示哪个组件,看下图,header和footer是外壳html的公共部分,中间的组件是动态变化的部分。

比如当前路由是/page-one,那就展示pageone组件,隐藏其他组件。如果路由是/page-two,就展示pagetwo组件,把所有其他组件隐藏。

7aaa1ac440c4c9a27f28a1e6613e4ecc.webp

可以说我们现在见到的很多小型pc端网站和移动端h5都是单页面应用。

单页面的优点是当切换页面时,它是局部刷新的,不用再去请求一次公共的js、css等静态资源。而且单页面应用的体验比较好,切换页面顺畅,单页面可以使用各种酷炫的换场动画,我们常见的兔展、易企秀h5就是很好的例子。

现在我们回到重点,单页面应用内,不同的页面之间跳转其实是通过隐藏和显示页面片段来实现的,因为在同一个html页面,所以他们之间传递数据也比较简单方便,可通过URL参数、公共数据变量等方式。

多页面应用跳转

多页面应用是由多个完整的页面构成的。看下图:

b25d1ef11c1e0ee630fb98481b8c2a96.webp

每个页面都是一个完整的html。它的页面跳转方式是从一个html页面跳转到另一个html页面,这种方式页面切换慢,因为每次都要重新加载公共资源(js、css)。

一般通过URL参数(最常用)、本地缓存localstorage(麻烦一些)等方式实现数据传递。

多页面应用比较适用于大型复杂的应用或者是需要SEO友好的网站。

如果从page-one跳转到page-two(通过新打开一个标签页的方式),那page-one和page-two之间还能通信吗?举个例子:

#一个授权和展示授权列表的功能#
在page-one页面点击授权,然后新打开一个tab标签页面跳转到page-two,在page-two页面完成授权完整流程操作,当page-two操作完成后,需要通知page-one页面去拉取最新的授权列表。

答案是可以的。js提供了一个postMessage的方法可以给另一个tab标签页面发送消息。所以上面例子是可以通过这个方法去push消息通知的。(当然这里说的只是其中一种解决方案)

锚点跳转

锚点跳转可以说也是单页面跳转。但是它不一样的地方是,它是通过URL的#号后面的id来动态滚动页面跳转到相应的位置。

一般用于快速导航。常见于电商网页的品类便捷导航

iframe跳转

什么是iframe?

官方的解释是:iframe是HTML内联框架元素,它能够将另一个HTML页面嵌入到当前页面中。

它的使用场景是:当你想在当前网页,内嵌一个第三方网站时,可以考虑使用iframe的方式。

需要注意的是,不是所有的第三方网站都能内嵌,如果第三方网站是需要登录校验的,就需要第三方网站支持登录api的调用等通信。这样才能使得当前网站和第三方网站无缝衔接起来。

当前网页和iframe之间还可以通信互相传递信息。

网页的前进和后退

浏览器对每个不同的访问路由,一般会登记一个浏览记录(replace方法除外,看下面)。

浏览器的前进和后退功能,可以在代码里面去触发。需要注意的是,如果你使用的是replace方法去跳转到新页面,新页面就会替换之前的页面,并且不会留下浏览记录。当你再调用网页后退方法时,就回不去前一个页面了。

举个例子,假设你的浏览记录是这样的:a->b->c。当b页面跳转c页面时,使用了replace,则c页面会替换掉b页面,当你再返回上一页时,就回到了a页面。

replace的使用场景是,当网页后退时,不想让用户再回到上一个页面。比如一些只能使用一次的临时页面。

重定向

重定向一般指的是301重定向和302重定向。均是由后台发起的。

1、301重定向

指的是永久性重定向。

举个例子,以前你的网站域名是http://www.a.com,但由于某种原因需要切换域名,需要用http://www.b.com来代替,

但是线上已经有很多人正在适用a.com这个域名,而且可能已经保存在浏览器书签。为了兼容老域名,又想要培养用户慢慢使用b.com这个新域名,那就可以在服务端配置一个域名的永久重定向,a.com重定向到b.com。

达到的效果是,当你输入a.com域名时,自动跳转到b.com域名。

2、302重定向

指的是临时性重定向。

举个例子,在统一登录功能中,当你在应用a点击登录,后台做统一校验后,根据应用的appId,来决定重定向到哪个应用首页。如果是在应用a点击的登录,则重定向到应用a的首页。


--- END ---


--- 推荐阅读 ---


当我们浏览网页时,隐私是如何被窃取的?

推荐6款超好看实用的管理后台模版

产品必懂技术术语(前端类)

大厂常用的几种灰度发布方案


爱心三连击❤️❤️❤️

看到这里了就点个在看/分享支持下吧,你的点赞、分享、在看是我持续创作的动力!
浏览 44
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报