我创建了一个页面,其中页面上有各种项目,人们需要通过点击“推荐”对其进行投票(就像他们在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)); ?>&layout=button_count&show_faces=false&width=450&action=recommend&font&colorscheme=light&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:140px; height:21px;" allowTransparency="true"></iframe>
答案 0 :(得分:3)
我建议使用Like按钮的FBML版本。然后,您可以按需显示它们,例如TechCrunch在故事鼠标悬停时显示它们,或者在页面加载后开始加载它们(即在DOM就绪时)。关闭Facebook init中的自动FBML解析,他们使用FB.XFBML.parse(DOM ID)来渲染每个Like按钮。
直接使用iframe意味着您尝试在页面加载时加载100个网页。这是很多,特别是当浏览器每个域最多只能打开8个连接时。有些开放较少。因此,使用100个按钮,它将需要十几个“回合”来加载所有内容。
我假设您正在获取并缓存每个故事在服务器上的Likes数量。