history.go和history.back是否已经实现了回退刷新和定位?

Haruyoshi 2020-07-20 12:08:04
面试时面试官说history.go和history.back这两个方法回退会刷新,不会定位到之前浏览的位置,让我讲怎么实现定位;
但我在网上查到说history.go(-1)会刷新,history.back不会刷新;
我用如下代码在火狐浏览器的测试结果为两种方法都会刷新并且定位到之前浏览的位置:
A页面(首先打开):_index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>

<body>
<div style="height: 200px;background-color: #ff2d51"></div>
<div style="height: 200px;background-color: #00b3ff"></div>
<div style="height: 200px;background-color: #1aad19"></div>
<div style="height: 200px;background-color: #ff2d51"></div>
<a href="./_index_1.html" id="data-link">定位到此</a>
<div style="height: 200px;background-color: #ff2d51"></div>
<div style="height: 200px;background-color: #00b3ff"></div>
<div style="height: 200px;background-color: #1aad19"></div>
<div style="height: 200px;background-color: #ff2d51"></div>
<a href="./_index_1.html">定位到此</a>
</body>
<script src="navigateWithLocation.js"></script>
</html>

B页面(回退按钮):_index_1.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<button onclick="history.go(-1);">定位回退go</button>
<button onclick="history.back();">定位回退back</button>
</body>
<script src="navigateWithLocation.js"></script>
</html>

js:navigateWithLocation.js
window.onload=function () {
console.log(new Date());
}

这道题是我理解错了还是测试代码有问题?
...全文
681 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Haruyoshi 2020-07-20
  • 打赏
  • 举报
回复
谢谢,明白了
foreverpx 2020-07-20
  • 打赏
  • 举报
回复
你确实没理解错,这两个方法是会刷新,并定位到上个页面滚动条滚动到的位置。 会不会定位到上个页面滚动条滚动的位置,要分2种情况: 1.上一个页面的滚动条是浏览器的,也即是由于内容高度高于浏览器窗口而生成的滚动条。这种情况是会的。 2.上一个页面的滚动条是用div模拟的,对于整个页面来说,高度并未超出浏览器窗口高度,这种情况下不会。 得看看面试官具体问你的是哪种情况。

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧