window.location.href和window.location.reload()的区别及常用的windows属性

window.location.href和window.location.reload()的区别

window.location.href用法:

和windows.location.href类似的方法window.location.assign及用法:

//url只去往的网页路径
window.location.assign(url);
window.location = url;
window.location.href = url;

window.location.href和window.location.assign区别

实现功能是一样的,都是跳转到网址,只是用法稍微不同。
最大的不同是,assign会添加记录到浏览历史,点击后退可以返回之前页面。

window.location.reload():

(1)window.location.reload()可以重新提交POST数据。
比如说,如果你采用POST方式提交了付款数据,当前页面是付款完成页面,这个时候如果你window.location.reload(),也许会重新POST一次付款……
(2)window.location.reload()可以通过参数设置,是访问页面的缓冲,还是重新请求最新的页面。
(3)window.location.reload()可以处理页面的锚点

reload 方法,该方法强迫浏览器刷新当前页面。
语法:location.reload([bForceGet])参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页。 true, 则以GET 方式,从服务端取最新的页面, 相当于客户端点击 F5(“刷新”)

replace 方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问已经被替换的URL。
语法:location.replace(URL) 参数: URL

在实际应用的时候,重新刷新页面的时候,我们通常使用: location.reload() 或者是 history.go(0) 来做。因为这种做法就像是客户端点F5刷新页面,所以页面的method="post"的时候,会出现“网页过期”的提示。那是因为Session的安全保护机制。可以想到: 当调用 location.reload() 方法的时候, aspx页面此时在服务端内存里已经存在, 因此必定是 IsPostback 的。如果有这种应用: 我们需要重新加载该页面,也就是说我们期望页面能够在服务端重新被创建, 我们期望是 Not IsPostback 的。这里,location.replace() 就可以完成此任务。被replace的页面每次都在服务端重新生成。你可以这么写: location.replace(location.href)

两者最大区别

他们最大区别是 是否有数据提交:

windows.location.reload()有提交数据的刷新

windows.location.href没有提交的刷新

更多window属性相关的知识:https://developer.mozilla.org/zh-CN/docs/Web/API/Window

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多看书少吃饭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值