1

这是在“直接链接到任何幻想框”之后,但在地址栏中带有 URL。现在我设法为我的 fancybox 画廊的每张图片分配了一个唯一的 url,我想知道是否通过共享例如 image #1 url,它会产生正确的拇指,例如,在 Facebook 上。

我正在使用最新的 fancybox 和 jquery 版本。

这是Javascript:

    var thisHash = window.location.hash;
    $(document).ready(function() {

        $('.thumbs').fancybox({
            prevEffect : 'fade',
            nextEffect : 'fade',
            closeBtn  : true,
            arrows    : true,
            nextClick : true,
            padding : 15,
            helpers : {
                title : {
                    type : 'inside'
                },
                thumbs : {
                    width  : 80,
                    height : 80
                }
            },
            beforeShow: function () {
                var id = this.element.attr("id")
                if (id) {
                    window.location.hash = id;
                }
            },
            beforeClose: function() {
                window.location.hash = "";
            }
        });

        if(thisHash) {
            $(thisHash).trigger('click');
        }
    });

这是HTML:

<a class="thumbs" data-fancybox-group="group1" id="image1" href="http://freeimagesarchive.com/data/media/206/1_black.jpg"><img src="http://freeimagesarchive.com/data/media/206/1_black.jpg" /></a>

基本上,使用此代码,当我打开图像时,网址将变为例如 www.mysite.com#image1

如果我复制该地址并将其粘贴到例如 Facebook 上,显然它不会给任何拇指分享。正确的拇指应该是http://freeimagesarchive.com/data/media/206/1_black.jpg但这个想法不是分享图片链接,而是花式链接。

我希望我说清楚了,对不起英语。

有什么办法可以做到这一点?

4

1 回答 1

0

如果您希望 Facebook 正确共享此图像,您需要为每个图像创建一个页面,并在其上使用正确的Open Graph 元标记。这些必须要么在静态文件中硬编码,要么由服务器端脚本动态生成。这些页面将是您在 Facebook 上共享的 URL,因此它们的解析器可以读取它们。

如果您希望最终用户看到 Fancybox 版本,当他们访问共享 URL 时,您可以使用 Javascript 代码重定向他们。

于 2012-09-08T01:50:16.927 回答