prettyPhoto灯箱社交工具:所有图片都有相同数量的Facebook喜欢

时间:2013-06-17 13:35:27

标签: javascript facebook facebook-like lightbox prettyphoto

背景:我有一个使用prettyPhoto灯箱的网站来显示照片。我已经启用了社交工具来在灯箱上显示“推文”和Facebook“喜欢”按钮,希望能够“仅仅” 显示当前正在显示的照片。

问题: Facebook“喜欢”按钮实际上会导致同一个相册中的所有照片都被喜欢:所有照片在灯箱中显示相同数量的喜欢;在Facebook上,用户在新闻Feed或最近活动中的“喜欢”链接到图库页面,而非实际拍摄的照片。

我尝试了什么:我已尝试编辑jquery.prettyPhoto.js文件以添加到此答案中的占位符:https://stackoverflow.com/a/11796964/2205165

我还尝试将'location_href'替换为'{path}'来查看是否使用了照片的完整路径/网址,但它没有,或者似乎没有这样做。

我已经尝试了上面的“深度链接”启用和禁用,但没有用。

帮助:如果有人有解决方案可以启用Facebook喜欢和推特发送来自prettyPhoto灯箱的个别照片,我很满意。即使是显示正确数量的喜欢的照片的程度,而不是所有相同的数字:在这个阶段,关于链接到单个照片,我并不太感兴趣:链接回主画廊页面就足够了这一点。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果有人再次提出这个问题,这个解决方案对我有用,它可以直接共享图像。

这仅适用于图片,但在PrettyPhoto中没有理由不适用于其他案例。

在prettyPhoto.js的PrettyPhoto参数中,用你想要的任何参数切换facebook iframe看起来像这样,这里重要的是" {path}"位于iframe src的href点:

<iframe id="fbiframe" src="//www.facebook.com/plugins/like.php?href={path}&amp;width&amp;layout=button&amp;action=like&amp;show_faces=false&amp;share=true&amp;height=21&amp;" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:26px;" allowTransparency="true"></iframe>'

然后在prettyPhoto.js文件的第274行附近,你会看到这一行:

$pp_pic_holder.find('#pp_full_res')[0].innerHTML = settings.image_markup.replace(/{path}/g, pp_images[set_position]);

添加另一行就像它一样替换src的href,如下所示,再次使用你想要的任何参数,重点是href替换为图像位置变量:

$('#fbiframe').attr('src', "//www.facebook.com/plugins/like.php?href="+pp_images[set_position]+"&amp;width&amp;layout=button&amp;action=like&amp;show_faces=false&amp;share=true&amp;height=26");