Javascript 无限滚动功能仅在首页中可用

Javascript 无限滚动功能仅在首页中可用,javascript,jquery,tumblr,infinite-scroll,Javascript,Jquery,Tumblr,Infinite Scroll,我在一个tumblr博客中使用了无限滚动插件,只要用户出现在首页,一切都会正常工作,例如:“{someblog}.tumblr.com” 从“{someblog}.tumblr.com/page/2”等等开始,插件似乎根本没有加载(它没有隐藏导航元素)。 初始化 下面是我用来称呼它的代码: $('#container').infinitescroll({ loading: { finished: undefined, finishedMsg: &q

我在一个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标记。如果您仍然遇到此错误:大叫、尖叫,并请向infinite 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会自动替换它

此外-应在
状态:{…}
块中添加此行:

currPage: {CurrentPage}
(如上面问题中的示例所示,我只是将其设置为“1”)

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


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

多亏了@graygilmore,我找到了它。这是需要添加到代码中的一行:

pathParse: function() {
    return ['http://{Name}.tumblr.com/page/', '']
},
请注意,
{Name}
是一个Tumblr变量,不需要更改-Tumblr会自动替换它

此外-应在
状态:{…}
块中添加此行:

currPage: {CurrentPage}
(如上面问题中的示例所示,我只是将其设置为“1”)

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


现在,无限滚动可以在博客的每一页上正确加载,这在想要创建“加载更多帖子”按钮时特别有用,用户可以选择常规(分页)导航和无限滚动。

我想这是因为你在/page/2上,而不是根目录。这就是为什么它在计算“路径”时遇到问题。添加类似的内容可以让你更接近:
debug:true,pathParse:function(){[]http://your-site.tumblr.com/page", ""]     }
谢谢,它确实让我更接近了!但添加它时,我得到一个错误:“TypeError:路径未定义”,它可以追溯到这一行:
path=opts.path,
,据我所知,无论我在初始化插件时在选项中指定了什么,它都保持未定义状态。为什么会发生这种情况?我想这是因为你在/page/2上,而不是根目录。这就是为什么它在计算“路径”时遇到问题。添加类似这样的内容会让你感到困惑ou closer:
debug:true,pathParse:function(){[“http://your-site.tumblr.com/page“,”“]}
谢谢,它确实让我更接近了!但是添加它时,我得到一个错误:“TypeError:路径未定义”,它可以追溯到这一行:
path=opts.path,
,据我所知,无论我在初始化插件时在选项中指定了什么,它都保持未定义状态。为什么会发生这种情况?