所有图片在prettyPhoto中都有相同数量的facebook喜欢

时间:2012-08-03 06:52:00

标签: javascript jquery prettyphoto

我正在使用jquery.prettyPhoto在我的网站上显示相册。我激活了social_tools以在每张照片下方显示twitter和facebook小部件。

问题在于,如果有人喜欢照片,所有其他照片都会喜欢,所以每张照片都有234张。

这是因为我的location.href在显示另一张照片时没有改变吗?

激活我的相册的代码是:

$.fn.prettyPhoto({ 
  slideShow: 3000,
  social_tools: ''
    +'<div class="pp_social">'
      +'<div class="twitter">'
        +'<a href="http://twitter.com/share" class="twitter-share-button" data-count="none">Tweet</a>'
        +'<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>'
      +'</div>'
    +'<div class="facebook">'
      +'<iframe src="http://www.facebook.com/plugins/like.php?locale=nl_NL&href='+location.href+'&amp;layout=button_count&amp;show_faces=true&amp;width=500&amp;action=like&amp;font&amp;colorscheme=light&amp;height=23" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency="true"></iframe>'
    +'</div>'
  +'</div>'
});

如何解决此问题?

提前致谢。

3 个答案:

答案 0 :(得分:0)

前段时间我遇到了同样的问题,尽管没有使用jquery.prettyPhoto。我有一系列对象,每个对象都有一个单独的网页。和你一样,当有人喜欢其中一个对象时,他们每个人都喜欢这样。

问题在于“喜欢”与同一地址相关联,因此被认为是相同的。一旦我们确保它们分别链接到不同的地址,它就解决了问题。

答案 1 :(得分:0)

我编辑了jquery.prettyPhoto插件来解决问题。

在替换facebook链接的部分,我添加了一个额外的占位符:

// Rebuild Facebook Like Button with updated href
if(settings.social_tools){
  facebook_like_link = settings.social_tools.replace('{location_href}', encodeURIComponent(location.href)).replace('{image_src}',encodeURIComponent(location.protocol+'//'+location.host+pp_images[set_position])); 
  $pp_pic_holder.find('.pp_social').html(facebook_like_link);
}

额外占位符为{image_src},正在被图像位置替换。

答案 2 :(得分:0)

我刚刚做了:

// Rebuild Facebook Like Button with updated href
if(settings.social_tools){
  facebook_like_link = settings.social_tools.replace('{location_href}', pp_images[set_position]);
  $pp_pic_holder.find('.pp_social').html(facebook_like_link);
}

它有效!

图像网址像href一样传递给FB。现在FB了解它是一个不同的网址。