1

我正在使用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>'
});

我该如何解决这个问题?

提前致谢。

4

3 回答 3

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);
}

额外的占位符 is{image_src}并且正在被图像位置替换。

于 2012-08-03T13:43:24.787 回答
0

前段时间我遇到了同样的问题,尽管没有使用 jquery.prettyPhoto。我有一系列对象,每个对象都有一个单独的网页。与您类似,当有人喜欢其中一个对象时,每个人都会点赞。

问题是“喜欢”链接到同一个地址,因此被认为是相同的。一旦我们确保它们各自链接到不同的地址,它就解决了这个问题。

于 2012-08-03T07:32:54.563 回答
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);
}

它奏效了!

图片 url 像 href 一样被传递给 FB。现在 FB 明白这是一个不同的 url。

于 2014-09-21T17:38:23.883 回答