顺便说一句,对不起我的英语。请为我编辑:)
我正在使用https://youtube.github.io/spfjs/进行快速导航,就像一个页面应用程序一样。但是当SPF.js调用spf.navigate(url)
时,我会被重定向到另一个页面。
对于我稍微向下滚动网站的示例,点击<a class="spf-link" href="http://example.com/nextpage">
下一页正常加载而不刷新,但滚动Y位置未保存,我到达顶部。当他们只想留在当前滚动时,这真的让用户感到烦恼。
SPF.js调用spf.navigate()
时是否有任何可配置的状态或位置?或者我必须做一些技巧才能做到。
答案 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);
});