html页面跳转,怎么让用户返回不会回到前面那个页面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html页面跳转,怎么让用户返回不会回到前面那个页面相关的知识,希望对你有一定的参考价值。
html页面跳转,怎么让用户返回不会回到前面那个页面
参考技术A 页面右上角有一个退出登录按钮,点击此按钮后会执行 response.setHeader(Pragma,No-cache); response.setHeader(Cache-Control,no-cache); response.setDateHeader(Expires,0); request.getSession().removeAttribute(user); request.getSession().removeAttribute(menuMap); request.getSession().invalidate(); 这些操作,之后返回到登录页面,但点击浏览器的后退按钮后又返回到退出之前的页面, ------解决方案-------------------------------------------------------- 用户表设置字段isOnline number2(10) 在线表示1,点退出则设置为0,并且清空session 这种方法好处很多(比如是否已经在线的检查),不过登陆模块中需要加入该逻辑 ------解决方案-------------------------------------------------------- 浏览器的后退是回到缓存中的旧页面,并不是脚本文件的跳转,一般有认证的网站系统都有这个问题,退出系统后返回登录页面,然后通过“后退”就可以回到系统的页面中,但是这种情况下再刷新,系统会验证你的认证关系,因为已经退出了,所以会又跳转到登录页面,你可以把浏览器设置成不保存缓存就可以了。 ------解决方案-------------------------------------------------------- 尽量用容器的权限认证 ------解决方案-------------------------------------------------------- 当用户退出登录后,你可以清空session,当他点击后退时你还是要验证登录的,如果没有session系统还是跳回到登录页面 ------解决方案--------------------------------------------------------探讨浏览器的后退是回到缓存中的旧页面,并不是脚本文件的跳转,一般有认证的网站系统都有这个问题,退出系统后返回登录页面,然后通过“后退”就可以回到系统的页面中,但是这种情况下再刷新,系统会验证你的认证关系,因为已经退出了,所以会又跳转到登录页面,你可以把浏览器设置成不保存缓存就可以了。 ------解决方案--------------------------------------------------------追问还有其他办法吗
单页应用及多页应用
一:是什么
多页面应用:一个项目是由多个完整的html页面组成
单页面应用:一个项目中只有一个完整的html页面,其他的都是部分html片段组成。
二:渲染方式
多页面:页面跳转,后台服务器返回一个新的html文档,页面跳转所有资源都要重新加载
单页面:页面跳转,局部刷新,不会重新加载全部资源。片段切换快,容易实现
二:问题:
多页面:页面跳转切换,会出现卡顿空白问题,不容易实现切换动画。切换慢
单页面:首屏时间慢,SEO差;单页应用的首屏时间慢,首屏时需要请求一次html
,同时还要发送一次js
请求,两次请求回来了,首屏才会展示出来。相对于多页应用,首屏时间慢。
SEO效果差,因为搜索引擎只认识html
里的内容,不认识js
的内容,而单页应用的内容都是靠js
渲染生成出来的,搜索引擎不识别这部分内容,也就不会给一个好的排名,会导致单页应用做出来的网页在百度和谷歌上的排名差。
三:特性:
多页面:
(1)首屏时间快=》访问页面时,服务器只需要返回一个html,页面就会展示出来,这个过程只经历一盒HTTP请求,所以页面展示速度快
(2)利于SEO=》SEO:根据网页内容给网页权重,搜索引擎可以识别html内容的,每个页面所有内容都放在html中,所以排名效果好
单页面:
(1)页面切换快=》页面每次切换跳转时,并不需要做html
文件的请求,这样就节约了很多http
发送时延,我们在切换页面的时候速度很快。
四:单页面解决seo
服务器端渲染技术(我是SSR),通过这些技术可以完美解决这些缺点
单页面VS多页面
mm |
多页应用模式MPA |
单页应用模式SPA |
应用构成 |
由多个完整页面构成 |
一个外壳页面和多个页面片段构成 |
跳转方式 |
页面之间的跳转是从一个页面跳转到另一个页面 |
页面片段之间的跳转是把一个页面片段删除或隐藏,加载另一个页面片段并显示出来。这是片段之间的模拟跳转,并没有开壳页面 |
跳转后公共资源是否重新加载 |
是 |
否 |
URL模式 |
http://xxx/page1.html 和 http://xxx/page2.html |
http://xxx/shell.html#page1 和 http://xxx/shell.html#page2 |
用户体验 |
页面间切换加载慢,不流畅,用户体验差,特别是在移动设备上 |
页面片段间的切换快,用户体验好,包括在移动设备上 |
能否实现转场动画 |
无法实现 |
容易实现(手机app动效) |
页面间传递数据 |
依赖URL、cookie或者localstorage,实现麻烦 |
因为在一个页面内,页面间传递数据很容易实现(这里是我补充,父子之间传值,或vuex或storage之类) |
搜索引擎优化(SEO) |
可以直接做 |
需要单独方案做,有点麻烦 |
特别适用的范围 |
需要对搜索引擎友好的网站 |
对体验要求高的应用,特别是移动应用 |
搜索引擎优化(SEO) |
可以直接做 |
需要单独方案做,有点麻烦 |
开发难度 |
低一些,框架选择容易 |
高一些,需要专门的框架来降低这种模式的开发难度 |
以上是关于html页面跳转,怎么让用户返回不会回到前面那个页面的主要内容,如果未能解决你的问题,请参考以下文章
java web中点击一个类似按钮的怎么关闭当前的这个页面而返回到前一个页面(在不出现新页面的情况下)
页面用jquery的load()方法加载新页面之后怎么返回上一页