加载初始网站后,在后台加载数据

时间:2016-05-04 14:21:17

标签: javascript jquery ruby-on-rails asynchronous ruby-on-rails-5

我有一个包含帖子和评论的Feed。

我只显示最后5条评论,另一条是css-hidden,点击"显示所有评论"时会显示。

目前我的想法是在"显示"时获取那些评论(ajax)。单击链接。

有没有办法在初始页面加载后立即自动在后台加载这些评论?

更新

<div class='container'>
    <div class='post'>This is a post</div>
    <div class='comment hidden'>This is a comment</div> # To load asynchronously
    <div class='comment hidden'>This is a comment</div> # To load asynchronously
    <div class='comment hidden'>This is a comment</div> # To load asynchronously
    <div class='comment hidden'>This is a comment</div> # To load asynchronously
    <a href='#'>Show all comments</a>
    <div class='comment'>This is a comment</div>
    <div class='comment'>This is a comment</div>
    <div class='comment'>This is a comment</div>
    <div class='comment'>This is a comment</div>
    <div class='comment'>This is a comment</div>
</div>

3 个答案:

答案 0 :(得分:1)

<body onload="script();">

document.onload = function ...

window.onload = function ...

答案 1 :(得分:1)

我的事物流表是最好的方法。

StreamTable.js背后的想法是最初填充最小行(可能是10或20),然后在后台静默流式传输数据并更新表。这可确保页面立即加载,并且还可立即用于所有操作。可以安全地假设如果用户在同一页面上停留的时间稍长,那么用户很可能会在搜索,页面导航等表格上执行某些操作。因此我们可以延迟流数据的过程在页面加载后2秒说。确保流式传输的所有数据必须立即可用也很重要。例如,2秒后,如果我们有1000行流,它们都应该是可搜索和分页的。

有关详细信息,请参阅此link
这是最好的js库之一。

答案 2 :(得分:0)

我可能会考虑等待加载其他评论(或至少大部分评论),直到用户执行给定的操作,例如单击“显示”链接。这可以防止您的页面加载(即使在后台)大量用户从未请求/需要查看的评论。如果您的任何用户在移动设备上,这还有助于减少应用的数据负载。

就实现而言,您可以选择JS / Ajax工具(vanilla,jquery,angular,vuejs,react等)并设置一个click事件,将更多注释附加到您的初始列表中。

希望有所帮助!