页面跳转

开发工具与关键技术:VS2015,ASP.NET MVC

撰写时间:2019年5月15日

有关于页面跳转的一些小问题
此时有注册页面,登录页面,主页面三个页面
三页面为后台系统页面

页面跳转的代码,平时会用的C#里面自带的window.location.href来点击的时候实现页面跳转,一般在做一些后台系统在登录跳转的时候会用到window.location.replace来点击的时候发生页面跳转,window.location.href和window.location.replace都是页面跳转,它们之间有什么区别呢?
这里涉及到一个浏览器缓存的问题。

window.location.href
此时登录页面跳转到注册页面用到window.location.href,在我们看到的页面是注册页面,其实浏览器还把登录页面的路径给缓存下来了,这个可以通过观察浏览器左上角的前进或后退的按钮。
在这里插入图片描述
↑未跳转
在这里插入图片描述
↑已跳转
用window.location.href实现页面跳转,可以通过点击左上角的后退按钮回退到登录页面,在点击这个后退按钮的时候浏览器去调用了之前缓存下来的登录页面的路径,实现了回退的功能。

window.location.replace
此处登录页面跳转至主页面用到window.location.replace,两段代码同样的是跳转,此时来观察左上角的前进或后退按钮,这时候会发现无论是前进按钮还是后退按钮都是呈现灰色状态,此时表明浏览器并没有把登录页面的路径缓存下来。
在这里插入图片描述
↑未跳转
在这里插入图片描述
↑已跳转
其实window.location.replace在此处起到一个代替的作用,此处的登录页面的路径被主页面的路径替换掉了,浏览器没有了登录页面的缓存,前进或后退按钮自然而然地变成了灰色状态,window.location.replace只能进不能退,所以适合用在一些不允许回退的页面。

总结:
window.location.href:a页面跳至b页面,会在浏览器留下a页面的缓存路径,此时可以通过点击回退按钮回退到a页面。
window.location.replace:a页面跳至b页面,在浏览器缓存里a页面的路径被b页面的路径替换了。所以回退按钮呈灰色状态,无法点击。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值