超链接打开一个页面,并强制刷新一次

案例:在a页面超链接,然后打开b页面,刷新一次b页面(只让页面刷新一次)

说明:这个文章是解决上一篇系统跨域访问的遗留问题

此处可略:(系统跨域访问以后由于被跨域访问的系统有拦截器;大致是:拦截器(通过cookie确定用户信息布局)-->跨域时登陆验证(账号、密码等信息存session)-->拦截器(再次通过cookie确定用户信息布局,最终导致的结果是跨域访问以后实际用户已经登录被跨域的系统,但是需要点击一下被跨域系统的功能、或刷新一下浏览器;用户信息才会显示。

1.不需要在a页面做任何处理

我当时用下面的这些方法,不能刷新b页面

window.open("http://localhost:8090", "_blank"); 
window.location.reload();
location.replace(location);
top.location.reload();
self.location.reload();
location.replace("http://localhost:8090");
Document.domain='http://localhost:8090';
window.opener.location.href=window.opener.location.href; 
location.reload(true);
window.location.href="https://www.baidu.com"
parent.location.reload();
parent.mainFrame.location.reload();
history.go(0);

2.在b页面处理,通过以下两个方法:

方法一:b页面进去的时候,每隔2秒刷新一次页面

<meta http-equiv="refresh" content="2"> //每隔2s刷新一次b页面
<meta http-equiv="refresh" content="2;url=http://localhost:8090">//每隔2s刷新一次url上的页面

注:这种方法太消耗服务器的资源,不停的请求后台,用户量大时服务器顶不足。

方法二:b页面进去的时候,只刷新一次页面

代码:
<script>
    function reurl(){
        url = location.href;
        var times = url.split("?t=");
        if(times[1] != 1){
            url += "?t=1";
            self.location.replace(url);
        }
    }
    onload = reurl
</script>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值