以正确的滚动位置重新加载页面

时间:2019-06-06 12:44:02

标签: javascript microsoft-edge

我想使用

将网页重新加载到相同的滚动位置
document.location.reload();

在除Edge之外的所有浏览器中都可以正常工作。边缘刷新到页面顶部。

示例代码:

<html>
<head>
    <style>
        body { padding-top: 150%; }
    </style>
    <script> 
    function locationreload() { 
        document.location.reload(); 
        } 
    </script> 
</head>
<body>
    <button onclick="locationreload()" >
        Reload
    </button>
</body>

如何解决?

2 个答案:

答案 0 :(得分:1)

实际上,该功能无法正常运行。您可以将滚动位置保存在localStorage中,并在页面加载时将其重新设置。

function locationreload() { 
    window.localStorage.setItem('position', window.pageYOffset);
    window.pageYOffset = window.localStorage.getItem('position');
} 

答案 1 :(得分:0)

好吧,您可以将页面的scrollTop保存在localStorage中,并在重新加载窗口时滚动到该位置。