回到前一页面并刷新前一页面

时间:2022-10-25 19:51:56
之前的代码是这样的
onclick="history.back();"

这样是可以回到前一个页面的,但是不会向服务器再次发出请求。。,好像是回到前一个页面的状态而已。。

于是想回到前一个页面并刷新页面,于是把代码变成了这样:

onclick="history.back();window.location.reload();"
刷新后,发现前一个history.back()完全没起到作用,ie光实现后一个location.reload();,只要一点击,立马变成这样:

回到前一页面并刷新前一页面(我是图片1)

完全是刷新当前页面了。。,后来又试了几个办法都行不通,于是,我把代码再次动了下,如下:

onclick="goBefore();"
function goBefore(){
history.back();
window.location.reload();
}
呃。。,还是行不通,为了看下第一个history.back()到底有没有起作用,于是我加了输出语句,如下:
    function goBefore(){
alert("回到上一页面");
history.back();
alert("刷新");
window.location.reload();
}
嗯,先接连弹出第一句、第二句语句,然后又看到了图片1,点了按钮重试后,发现果然回到了前一个页面,而且也向服务器发出了请求,成功刷新前一页面。

但是,如果我点取消按钮,会回到前一个页面,不过不会刷新而已。这点还是不太好。

尝试着先把两个alert()给删了,然后再次点击,发现还是刷新了当前页面,。。。这是为啥

于是我把第一个alert()删掉,只保留第二个alert(),实验成功了;

然后我又把第二个alert()删掉,只保留第一个alert(),发现。。。失败了。。。

从以上实验来看,


 

history.back();和window.location.reload();是一对冤家,不能碰头,中间要有个调解人,否则ie只会执行window.location.reload();又经过几次试验,发现这个调解人发现只能是alert()语句,如果是function,还是不会起作用的。这个原理就真心不知道了。

另外发现浏览器上的刷新按钮和右键刷新其实不太一样的,右键刷新会重新向服务器提交请求,但是浏览器上的刷新按钮只是会单纯的重载下页面,并不会向服务器发出请求的。