帮助一个页面上的几个Facebook按钮

时间:2010-06-04 01:15:31

标签: performance facebook wordpress facebook-like

我创建了一个页面,其中页面上有各种项目,人们需要通过点击“推荐”对其进行投票(就像他们在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> 

1 个答案:

答案 0 :(得分:3)

我建议使用Like按钮的FBML版本。然后,您可以按需显示它们,例如TechCrunch在故事鼠标悬停时显示它们,或者在页面加载后开始加载它们(即在DOM就绪时)。关闭Facebook init中的自动FBML解析,他们使用FB.XFBML.parse(DOM ID)来渲染每个Like按钮。

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

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