-1

そのページには複数の画像を持つ1つのページがあります。各画像には独自の共有ボタンといいねボタンがあります。共有ボタンをクリックすると、その特定の画像を共有したいのですが、それが起こっていません助けてください。ここに私のコードがあります..

<script type="text/javascript">
        var str;
        function fbs_click(u,val)
        {
            var i;

            var imgobj=document.getElementById(val).getElementsByTagName('img');
            for(i=0;i<imgobj.length;i++){
                str=imgobj[i].src;
                //document.write("<br>");
            }
            alert(str);
            //This is to show fb popup for sharing passed pageurl
            window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u),'sharer','toolbar=0,status=0,width=626,height=436');
            return false;
        }
    </script>

<!--This is for setting img for fb like -->
<script type="text/javascript">document.write('<link rel="image_src" type="image/jpeg"  href="'+str+'">');</script>


$url="http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

<div class='sharebutton'>
                            <a href='#' onclick='return fbs_click(\"$url\",\"$src_value\");' class='fb_share_link'>Share on Facebook</a>
                        </div>

コードを貼り付けましたが短いですが、私の問題を理解してください

4

1 に答える 1

0

問題は、ページのURLのみを送信していることです。Facebookは、URLに基​​づいて同様のカウントにインデックスを付けます。

Facebookは、ユーザーがページ上のどの画像を共有しようとしているのかわからないため、ページのデフォルトのメタタグを取得し、それがユーザーのタイムラインに表示されます。各写真のURLは同じであるため、1つの写真を共有すると、すべての写真のカウンターが増加します。

これを機能させる1つの方法は、サイトの画像ごとに個別のページを作成し、それをonclick関数に渡すことです。そのページには、Facebookパーサーが使用できるその画像の特定のメタデータがあります。ユーザーがそのリンクをたどるときは、そのページにスクリプトを作成して、メインページ(できれば右の写真のアンカー)にリダイレクトします。javascriptが有効になっていない人のために、正常に失敗する方法が必要になります。

于 2012-08-17T15:41:35.467 に答える