document.location.href和replace区别

document.location.href和document.location.replace都可以实现从A页面切换到B页面,但他们的区别是:

用 document.location.href切换后,可以退回到原页面。

而用document.location.replace切换后,不可以通过“后退”退回到原页面。

关于document.location.href或其他可回退的切换方式,我还发现一个细节,

用个例子来说明:

假设有A.htm B.htm C.htm三个页面

A.htm里有这样一句:document.location.href="b.htm";

b.htm里有这样一句:document.location.href="c.htm";

注意两个都是可回退的切换。


1:当从A切换到B再切换到C时,实际内存中保留了三个页面:A、B、C

2:回退到B时,C页面被清出内存!

3:再次回退,到A页面时,B页面也被清出内存!

4:再次向前(不是用切换而是用向前)转到B页面时,

内存中保留的是A和B

>>> 当一个文档被location.replace()替换后,它就会从当前的历史对象中移除了


location.href 解析

top.location.href="/url"
说的是在顶层页面打开url
self.location.href="/url"
说的是仅本页面打开url地址
parent.location.href="/url"
说的是你窗口打开Url地址

应该还有一个this.location.href="/url"
用法和self的用法一致

还有就是如果页面当中有自定义的frame 的话,
也可以将parent self top换为自定义frame的名称
效果就是在自定义frame窗口打开url地址

if(window != top){
top.location.href="/login.aspx";
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值