4

目标:
我想在我的fancybox 中有一个分享按钮,可以在Facebook 分享器中用正确的图片名称分享我正在查看的图片。我希望当用户在 Facebook 中点击它时,他会到达一个打开的带有正确图像的 Fancybox。

问题:
我有一个带有 Jquery FancyBox 的画廊(http://fancyapps.com/fancybox/)。我用我在这个小提琴( http://jsfiddle.net/G5TC3/)中找到的代码添加了一个分享按钮。我的分享按钮有效,但从网站获取元 og,我想从我正在查看的图像中获取 og:image。

$(".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 + '&amp;layout=button_count&amp;show_faces=true&amp;width=500&amp;action=like&amp;font&amp;colorscheme=light&amp;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 类)时,我会得到图像 URL 并更改元数据(使用 facebook Id)。它可以工作,但我认为 Facebook 在页面加载时会检查元数据,那么我如何才能强制 Facebook 重新检查我的元数据以分享好的拇指?

4

1 回答 1

0

og:image 不能通过 url 改变。您需要为不同的图像提供不同的共享网址。

例如 :-

www.myURL.com/?pic=img1

www.myURL.com/?pic=img2 等

服务器端语言(如 php)可以读取“pic”GET 参数并更改 og:image。

于 2013-07-04T08:49:51.337 回答