目标:
我想在我的fancybox中有一个共享按钮,它与Facebook共享器中的正确图像名称共享我正在查看的图像。我希望当用户在Facebook上点击它时,他会以正确的图像到达打开的Fancybox。
问题:
我有一个Jquery FancyBox的画廊(http://fancyapps.com/fancybox/)。我添加了一个共享按钮,其中包含我在这个小提琴中找到的代码(http://jsfiddle.net/G5TC3/)。
我的分享按钮有效,但从网站上获取元数据,我想从我正在查看的图像中获取og:图像。
$(".fancybox")
.attr('rel', 'gallery')
.fancybox({
beforeShow: function () {
if (this.title) {
// Add FaceBook like button
this.title += '<iframe src="//www.facebook.com/plugins/like.php?href=' + this.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:110px; height:23px;" allowTransparency="true"></iframe>';
}
},
helpers : {
title : {
type: 'inside'
}
}
});
对于点击我的链接并使用正确的图片到达打开的Facybox的用户,我不知道该怎么做以及是否可能。
我所知道的:
我知道每个图像都必须有唯一的URL,我想我已经拥有了它。来自我的网站:
www.myURL.com/images/gallery/myimages_1.jpg
www.myURL.com/images/gallery/myimages_2.jpg
这是对的吗?
我想我必须通过图片网址更改共享者中的“this.href”。首先是正确的吗?第二个(抱歉,我是javascript的新手)我该怎么做?
我希望有人可以帮助我。对不起我的英语我正在努力写出我最好的英语:) 如果您需要更多信息,请不要犹豫。
由于
[编辑]:
我在画廊页面上添加了这个脚本
$(function()
{
$('.thumbs').click(function()
{
$tempImgName = $(this).attr('id');
$tempUrl = this.href + '/images/thumbs/' + $tempImgName;
$meta = document.getElementById('facebook');
$meta.setAttribute("content",$tempUrl);
});
});
所以当我点击一个缩略图(带有.thumbs类)时,我得到了图片网址,然后我更改了元数据(带有facebook ID)。它有效,但我认为Facebook会在页面加载时检查元数据,那么我如何强制Facebook重新检查我的元数据以便分享好的大拇指?
答案 0 :(得分:0)
og:图片无法通过网址更改。您需要为不同的图像提供不同的共享URL。
例如: -
www.myURL.com/?pic=img1
www.myURL.com/?pic=img2等
服务器端语言(如php)可以读取“pic”GET参数并更改og:image。