-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 都是相同的,因此共享任何一张照片都会导致所有照片的计数器都增加。

完成这项工作的一种方法是为您网站上的每个图像创建一个单独的页面,并将其传递给您的 onclick 函数。该页面具有 Facebook 解析器可以使用的图像的特定元数据。当用户点击该链接时,在该页面上有一个脚本将他们重定向回您的主页(最好是右侧照片上的锚点)。对于没有启用 javascript 的人,您需要有一些方法可以优雅地失败。

于 2012-08-17T15:41:35.467 回答