无限滚动function仅在首页中起作用

我在tumblr博客中使用无限滚动插件,一切正常,只要用户在首页 – 例如:“{someblog} .tumblr.com”。

从“{someblog} .tumblr.com / page / 2”等开始,插件似乎根本没有加载(它不会隐藏导航元素)。 初始化这是我用来调用它的代码:

$('#container').infinitescroll({ loading: { finished: undefined, finishedMsg: "Finished", img: "preloader.gif", msg: null, msgText: "Loading...", selector: null, speed: 'fast', start: undefined }, state: { isDuringAjax: false, isInvalidPage: false, isDestroyed: false, isDone: false, // For when it goes all the way through the archive. isPaused: false, currPage: 1 }, callback: undefined, debug: false, behavior: undefined, binder: $(window), // used to cache the selector nextSelector: "#next a", navSelector: ".navigation", contentSelector: "#container", // rename to pageFragment itemSelector: "div.post", animate: false, pathParse: undefined, dataType: 'html', appendCallback: true, bufferPx: 400 }, ... 

编辑:我启用了调试信息,我得到了以下信息:

({0:“抱歉,我们无法解析您的下一个(上一篇文章)url。请确认您的css选择器指向正确的A标记。如果您仍然收到此错误:大喊,尖叫,并请求无限帮助-scroll.com。“})

({0:“determinePath”,1:“/ page / 4”})

({0:“绑定”,1:“绑定”}

它似乎确实找到了下一页的地址 – “/ page / 4”(因为我在第3页)。 但它不能因某种原因“解析”它?

该插件是否可以仅在第一页上运行,其中下一页的链接包含“2”? 如果是这样,我该如何覆盖呢?

非常感谢提前!

感谢@graygilmore我明白了。 这是需要添加到代码中的行:

 pathParse: function() { return ['http://{Name}.tumblr.com/page/', ''] }, 

请注意, {Name}是Tumblr变量,无需更改 – Tumblr会自动替换它。

此外 – 此行应添加到以下state: {...}块:

 currPage: {CurrentPage} 

(在我上面的问题中的示例中,我只是将其设置为“1”)。

{CurrentPage}也是一个Tumblr变量,因此对于每个正在查看的页面,它都会自动替换为当前页码。

现在Infinite-Scroll在博客的每个页面上正确加载,这在想要创建“加载更多post”按钮时特别有用,这使用户可以在常规(分页)导航和无限滚动之间进行选择。