SPF.js导航到新URL后如何保持页面的当前位置

时间:2018-01-01 09:32:07

标签: javascript youtube

顺便说一句,对不起我的英语。请为我编辑:)

我正在使用https://youtube.github.io/spfjs/进行快速导航,就像一个页面应用程序一样。但是当SPF.js调用spf.navigate(url)时,我会被重定向到另一个页面。

对于我稍微向下滚动网站的示例,点击<a class="spf-link" href="http://example.com/nextpage">下一页正常加载而不刷新,但滚动Y位置未保存,我到达顶部。当他们只想留在当前滚动时,这真的让用户感到烦恼。

SPF.js调用spf.navigate()时是否有任何可配置的状态或位置?或者我必须做一些技巧才能做到。

2 个答案:

答案 0 :(得分:1)

答案是here

  

您可以使用会话存储来存储位置然后返回到   重新加载页面时的位置,如下所示:

$(window).scroll(function() {
  sessionStorage.scrollTop = $(this).scrollTop();
});

$(document).ready(function() {
  if (sessionStorage.scrollTop != "undefined") {
    $(window).scrollTop(sessionStorage.scrollTop);
  }
});

答案 1 :(得分:0)

对于使用vanilla javascript的SPF.js用户,这应该是一个技巧:)

let xCoord = 0;
let yCoord = 0;
document.addEventListener('spfrequest', () => {
    xCoord = window.pageXOffset;
    yCoord = window.pageYOffset;
});
document.addEventListener('spfdone', () => {
    window.scrollTo(xCoord, yCoord);
});