我的意思是,1,要求每五分钟刷新一次页面;2,刷新后我原先浏览的位置是不变的,不会回到最顶部,也就是说页面刷新,滚动条不刷新
时间: 2024-03-09 07:47:20 浏览: 90
非常抱歉,我之前的回答可能没有完全满足你的需求。要实现每五分钟刷新页面,同时保持原先浏览的位置不变,可以使用 `XMLHttpRequest` 对象发起一个 AJAX 请求,获取页面内容,然后使用 `innerHTML` 属性更新页面内容,以达到刷新页面的效果,并且在刷新后将页面滚动到相同的位置。
以下是代码示例:
```javascript
setTimeout(function(){
var scrollPosition = window.scrollY;
var xhr = new XMLHttpRequest();
xhr.open("GET", window.location.href, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var newContent = xhr.responseText;
var currentScrollPosition = window.scrollY;
document.documentElement.innerHTML = newContent;
window.scrollTo(0, currentScrollPosition);
}
};
xhr.send();
}, 300000); // 300000 毫秒等于 5 分钟
```
这段代码的作用是,每经过 5 分钟后,它会获取当前页面的滚动位置,然后通过 `XMLHttpRequest` 对象发起一个 AJAX 请求,获取页面内容。当请求成功后,它会使用 `innerHTML` 属性将新内容更新到页面上,并使用 `window.scrollTo()` 方法将页面滚动到之前的位置。同时,为了避免回到最顶部,我们在获取新内容前先记录当前的滚动位置 `currentScrollPosition`,然后在新内容更新后使用该位置将页面滚动到相同的位置。
阅读全文