1

我创建了一个页面,其中页面上有各种项目,人们需要通过单击“推荐”对它们进行投票(就像他们在 levi.store.com 上的方式一样)。这些项目根据他们收到的“推荐”数量进行排序。我遇到的问题是这些项目中有 100 个,当我尝试显示它们时,它变得太慢了。有没有办法更有效地做到这一点,这是我所拥有的一些伪代码(我正在使用 Wordpress)

                $theCategory = 'the-item-category'; //every item is a post and is placed into this category
                $items->query('cat='.$theCategory); //this gets all those items in that category

                while($items->have_posts()) : $items->the_post();  

         <h1><?php the_title(); ?></h1>     

  <iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo urlencode(get_permalink($post->ID)); ?>&amp;layout=button_count&amp;show_faces=false&amp;width=450&amp;action=recommend&amp;font&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:140px; height:21px;" allowTransparency="true"></iframe> 
4

1 回答 1

3

我建议使用 FBML 版本的 Like 按钮。然后,您可以按需显示它们,就像 TechCrunch 在故事鼠标悬停时所做的那样,或者在页面加载后开始加载它们(即在 DOM 准备好时)。在您的 Facebook 初始化中关闭自动 FBML 解析,他们使用 FB.XFBML.parse(DOM ID) 来呈现每个 Like 按钮。

直接使用 iframe 意味着您尝试在页面加载时加载 100 个网页。这很多,尤其是当浏览器每个域最多只能打开 8 个连接时。有的开得少。因此,使用 100 个 Like 按钮,加载所有内容将需要十几个“回合”。

我假设您正在获取并缓存每个故事在服务器上的点赞数。

于 2011-08-27T12:22:44.200 回答