【问题标题】:Infinite AJAX Scroll - update script after new post loaded无限 AJAX 滚动 - 加载新帖子后更新脚本
【发布时间】:2014-04-20 00:04:36
【问题描述】:

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

我想使用插件非常简洁的 history 功能来加载新旧帖子。帖子太多了,单独更新每个帖子代码中的 url 列表是不可行的,所以我想我可以通过 PHP 包含函数来加载它。

first.html 我使用 PHP 包含函数加载列表:

<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 等。有没有办法从新文件重新加载脚本?

【问题讨论】:

    标签: javascript ajax infinite-scroll


    【解决方案1】:

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

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

    希望这会有所帮助。

    【讨论】:

    • 感谢您的回复。我编写了一个 PHP 脚本,我将 nextprev 变量传递给该脚本,它返回带有添加到下一页和上一页的 a 标记的列表。效果很好。
    猜你喜欢
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多