JScroll 无法看到 javascript 何时使用pushState
更改了窗口历史记录。
我为索引页面上的帖子添加了JScroll。例如,默认 URL 是本地主机。当之后没有路径时,将加载默认帖子,jscroll将按预期工作。
但是我在索引页面上有选项卡(新,顶部,热),可以更改帖子的顺序。因此,当我单击选项卡时,它会动态更改带有window.history.pushState
的 URL,并使用新过滤器发送请求以显示帖子。
但是在JScroll中,它仍然保留旧的href并加载旧数据。例如 - 我正在滚动本地主机/新,当我在 JScroll 中将选项卡更改为本地主机/顶部时,nextHref
是"http://localhost:8000/new?page=3 div.infinite-scroll"
而不是"http://localhost:8000/top?page=1 div.infinite-scroll"
。
如何更改它以便与选项卡同步?
我找到了解决方案。
每次更改选项卡后,我都会添加$('.infinite-scroll').removeData('jscroll').jscroll.destroy();
并再次调用 JScroll 初始值设定项。