我正在使用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+'&layout=button_count&show_faces=true&width=500&action=like&font&colorscheme=light&height=23" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency="true"></iframe>'
+'</div>'
+'</div>'
});
如何解决此问题?
提前致谢。
答案 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了解它是一个不同的网址。