背景:我有一个使用prettyPhoto灯箱的网站来显示照片。我已经启用了社交工具来在灯箱上显示“推文”和Facebook“喜欢”按钮,希望能够“仅仅” 显示当前正在显示的照片。
问题: Facebook“喜欢”按钮实际上会导致同一个相册中的所有照片都被喜欢:所有照片在灯箱中显示相同数量的喜欢;在Facebook上,用户在新闻Feed或最近活动中的“喜欢”链接到图库页面,而非实际拍摄的照片。
我尝试了什么:我已尝试编辑jquery.prettyPhoto.js文件以添加到此答案中的占位符:https://stackoverflow.com/a/11796964/2205165
我还尝试将'location_href'替换为'{path}'来查看是否使用了照片的完整路径/网址,但它没有,或者似乎没有这样做。
我已经尝试了上面的“深度链接”启用和禁用,但没有用。
帮助:如果有人有解决方案可以启用Facebook喜欢和推特发送来自prettyPhoto灯箱的个别照片,我很满意。即使是显示正确数量的喜欢的照片的程度,而不是所有相同的数字:在这个阶段,关于链接到单个照片,我并不太感兴趣:链接回主画廊页面就足够了这一点。
谢谢!
答案 0 :(得分:0)
如果有人再次提出这个问题,这个解决方案对我有用,它可以直接共享图像。
这仅适用于图片,但在PrettyPhoto中没有理由不适用于其他案例。
在prettyPhoto.js的PrettyPhoto参数中,用你想要的任何参数切换facebook iframe看起来像这样,这里重要的是" {path}"位于iframe src的href点:
<iframe id="fbiframe" src="//www.facebook.com/plugins/like.php?href={path}&width&layout=button&action=like&show_faces=false&share=true&height=21&" 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]+"&width&layout=button&action=like&show_faces=false&share=true&height=26");