无限AJAX滚动 - 加载新帖子后更新脚本

时间:2014-03-14 15:32:00

标签: javascript ajax infinite-scroll

我使用Infinite AJAX Scroll插件加载系列帖子,类似于博客。

我想使用该插件非常简洁的 history 功能来加载较旧和较新的帖子。帖子太多,单独更新每个帖子的代码中的网址列表是不可行的,所以我发现我可以通过PHP include函数加载它。

first.html中,我使用PHP include函数加载列表:

<div id="pagination">
  <a href="first.html" id="first">1</a>
  <a href="second.html" id="second">2</a>
  <a href="third.html" id="third">3</a>
  ....
</div>

并指定代码next: '#second'中的下一篇文章:

var ias = jQuery.ias({
  container:  '#posts',
  item:       '.post',
  pagination: '#pagination',
  next:       '#second'
});
ias.extension(new IASSpinnerExtension());
ias.extension(new IASPagingExtension());
ias.extension(new IASHistoryExtension({ prev: '' }));

second.html中,列表相同(使用PHP加载),脚本更改为prev: '#first'next: '#third'

var ias = jQuery.ias({
  container:  '#posts',
  item:       '.post',
  pagination: '#pagination',
  next:       '#third'
});
ias.extension(new IASSpinnerExtension());
ias.extension(new IASPagingExtension());
ias.extension(new IASHistoryExtension({ prev: '#first' }));

问题是脚本在加载新帖子后没有更新,所以它会一遍又一遍地加载同一个帖子。如果我打开first.html,则脚本会一直加载second.htmlsecond.html等。如果我打开second.html,脚本会一直加载third.htmlthird.html等。有没有办法从新文件重新加载脚本?

1 个答案:

答案 0 :(得分:0)

你所描述的方式似乎并不可行。为了使其工作,必须加载新的javascript并通过AJAX执行。由于各种原因,例如安全性,这是不可能的。

最好的选择是为next和prev页面添加特定的a-tag。这就是插件的设计方式。如果您可以更新每页的IAS javascript代码,那么还应该可以更新每页的分页链接。

希望这有帮助。