背景:我有一个网站使用 prettyPhoto 灯箱来显示照片。我启用了社交工具以在灯箱上显示“推文”和 Facebook“喜欢”按钮,希望能够“喜欢”仅正在显示的当前照片给查看它的人.
问题:Facebook 的“赞”按钮实际上导致同一图库中的所有照片都被赞:所有照片在灯箱中显示相同的赞数;在 Facebook 上,用户在他们的新闻提要或最近的事件中点赞链接到图库页面,而不是点赞的实际照片。
我尝试了什么: 我尝试编辑 jquery.prettyPhoto.js 文件以添加在此答案中找到的占位符:https://stackoverflow.com/a/11796964/2205165
我也曾尝试用“{path}”替换“location_href”,看看它是否使用了照片的完整路径/URL,但它没有,或者似乎没有这样做。
我已经在启用和禁用“深度链接”的情况下尝试了上述方法,但无济于事。
帮助:如果有人有解决方案来启用 Facebook 点赞和 Twitter 推特来自 prettyPhoto 灯箱的个人照片,我会洗耳恭听。即使照片显示正确的点赞数,而不是所有的点赞数都相同:在这个阶段我对链接回单张照片并不太在意:链接回主画廊页面就足够了那个。
谢谢!
最佳答案
万一有人再次想到这个,这个解决方案对我有用,它直接分享图像。
这仅适用于图像,但没有理由它不适用于 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");
关于javascript - prettyPhoto灯箱社交工具: all images have the same number of Facebook likes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17148850/