我使用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.html
,second.html
等。如果我打开second.html
,脚本会一直加载third.html
,third.html
等。有没有办法从新文件重新加载脚本?
答案 0 :(得分:0)
你所描述的方式似乎并不可行。为了使其工作,必须加载新的javascript并通过AJAX执行。由于各种原因,例如安全性,这是不可能的。
最好的选择是为next和prev页面添加特定的a-tag。这就是插件的设计方式。如果您可以更新每页的IAS javascript代码,那么还应该可以更新每页的分页链接。
希望这有帮助。