window.location.href = window.location.href刷新页面的问题

 
论window.location.href = window.location.href刷新页面的问题 


在JS中可以用window.location.href = window.location.href来刷新页面(当然还有很多其他的方法), 

在使用这个方法刷新页面的时候回出现问题,如下: 

 

[html]  view plain  copy
 
  1. <body οnlοad='alert("aaa");'>     
  2. <script>function refresh()     
  3. {        
  4.        window.location.href = window.location.href;     
  5. }     
  6. </script>     
  7.     
  8. <href ='#'>###</a>     
  9. <input type ='button' value='button' οnclick='refresh();' />     
  10. </body>     

分析这段代码你会发现,当点击###后,再点击Button页面不会刷新。 

想必看到这里你已经知道问题所在,就是在点击###后,Url上会加上一个#, 

于是refresh()方法就变成了 window.location.href ="www.something.com/test.aspx#" 

成为了一个锚点。 

我的解决方法也很简单: 

 

 

[html]  view plain  copy
 
  1. window.location.href = window.location.href.replace(/#/g,'');     

 

替Url中的换所有# 

一般来说这样替换不会有问题,url中一般不含有#,替换后也不会导致链接失效。 

PS:虽然只是一个小问题,但开发时还是要注意。 



每个人都会经过这个阶段,见到一座山,就想知道山后面是什么。我很想告诉他,可能翻过山后面,你会发现没什么特别。回望之下,可能会觉得这一边更好。 每个人都会坚持自己的信念,在别人看来,是浪费时间,她却觉得很重要。 

转载于:https://www.cnblogs.com/guohaijun/p/5488541.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值