1

これは「任意のファンシーボックスへの直接リンク」の後に続きますが、アドレスバーに URL があります。ファンシーボックスギャラリーの各画像に一意の URL を割り当てることができたので、たとえば画像 #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>

基本的に、このコードでは、画像を開くと、URL は www.mysite.com#image1 のようになります。

そのアドレスをコピーして、たとえば Facebook に貼り付けても、共有する親指は明らかにありません。正しい親指はhttp://freeimagesarchive.com/data/media/206/1_black.jpgですが、アイデアは画像リンクではなく、fancybox リンクを共有することです。

英語で申し訳ありません。

これを行う方法はありますか?

4

1 に答える 1

0

Facebook でこの画像を適切に共有するには、画像ごとに適切なOpen Graph メタ タグを含むページが必要です。これらは、静的ファイルにハードコーディングするか、サーバー側スクリプトによって動的に生成する必要があります。これらのページは、パーサーが読み取れるように Facebook で共有する URL になります。

エンド ユーザーに Fancybox のバージョンを表示させたい場合は、エンド ユーザーが共有 URL にアクセスしたときに、Javascript コードを使用してリダイレクトできます。

于 2012-09-08T01:50:16.927 に答える