首页 > history.back()和直接写地址的区别?

history.back()和直接写地址的区别?

比如说我想退回到上一页(index.html),可以这样写

<a href="javascript:history.go(-1);"></a>

也可以这样写

<a href="index.html"></a>

想问下这两种方式有什么区别吗?


history.back()
是从history stack中pop的

另外一种肯定是push的。
这个看你自己的业务逻辑了。

你可以写你的demo后 前进后退感受一下。


直接访问当前页面, 这样写不就跪了?


區別在於如果當前頁不是歷史上最新的一頁,直接寫地址會導致比當前頁更新的歷史全部被替換掉。

同時,即便是最新,也會導致歷史出現重複。


<a href="javascript:history.go(-1);"></a>

这种写法比较推荐,但是还有点兼容性问题,部分浏览器需要在后面加上 return false;


<a href="index.html"></a>

这种写法的坏处是维护成本比较高,试想上一页不再只是 index.html 了,那你就需要把所有链接都改一遍。


还是感觉 history.back() 更舒服些。


是会刷新数据的。history.go(-1);只是返回前一页。

【热门文章】
【热门文章】