javascript - 将 X 轴添加到 No Scroll Refresh

标签 javascript html

谁能帮我在我的无滚动刷新上添加 X 轴。我不希望它经常在每次刷新时滚动到顶部或左侧。

 <script type="text/javascript">
function refreshPage () {
     var page_y = document.getElementsByTagName("body")[0].scrollTop; 
     window.location.href = window.location.href.split('?')[0] + '?page_y=' + page_y;

}
     window.onload = function () {
         setTimeout(refreshPage, 1700);
            if (window.location.href.indexOf('page_y') != -1 ) {
                var match = window.location.href.split('?')[1].split("&")[0].split("=");
                document.getElementsByTagName("body")[0].scrollTop = match[1];

                                                                }
                                  }
</script>

最佳答案

这已经是浏览器的行为(至少,我在 Firefox 和 Chrome 中测试过)。

尽管如此,由于您重新加载的方式,它并没有这样做。使用方法重新加载它工作正常。

//location.reload(forceGet): forceGet is false by default
//false will make it load from the cache
window.location.reload()

但是如果你真的想手动做的话

var page_y = window.scrollY;

window.scrollTo(0, match[1])

在您当前的代码中,它将如下所示:

<script type="text/javascript">
function refreshPage () {
    var doc = document.documentElement
    var body = document.body;
    var page_y = window.scrollY || ((doc && doc.scrollTop) || (body && body.scrollTop || 0)) - (doc.clientTop || 0);
    window.location.href = window.location.href.split('?')[0] + '?page_y=' + page_y;
}
window.onload = function () {
    setTimeout(refreshPage, 1700);
    if (window.location.href.indexOf('page_y') != -1 ) {
        var match = window.location.href.split('?')[1].split("&")[0].split("=");
        window.scrollTo(0, match[1]);
    }
}
</script>

我不知道你想做什么,但我建议你在需要时在本地更改一些内容,而不是重新加载整个页面。

编辑

要在多个平台上工作,请使用 this解决方案。

var doc = document.documentElement
var body = document.body;
var page_y = window.scrollY || ((doc && doc.scrollTop) || (body && body.scrollTop || 0)) - (doc.clientTop || 0);

关于javascript - 将 X 轴添加到 No Scroll Refresh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18067384/

相关文章:

javascript - 在 Lodash 中根据条件合并两个 JSON 数组

javascript - Jquery 使用数据对象查找具有 HTML5 数据属性的元素

javascript - Promise 中的 requestAnimationFrame

html - 计算每个段落中的字符数

javascript - 重新启动用户计算机后记住大纲

javascript - webdriverio 元素在箭头函数内未定义

html - 为什么网格不会将标有 "."的单元格留空?

javascript - 如何在 cookie 中存储 html 表单元素?

javascript - 在 jquery 中停止警报禁用选项

html - CSS/HTML - Viewport 元标记会完全破坏我的网站样式吗?