2012-08-17 44 views
-1

我有一个页面在该页面上有多个images.On每个图像都有自己的份额和喜欢button.when我点击共享按钮,我想分享该perticular图像,但是这不是发生请帮助我。 这里是我的代码..facebook共享使用php

<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> 

我有粘贴代码短才明白,你我的问题

+0

funnycatimages.net //将此网站引用至我的上述问题 – 2012-08-17 12:53:14

+0

我始终只提供网站回答:) – 2012-08-17 14:09:41

回答

0

的问题是,你只发送网页的URL。 Facebook根据url索引它的类似计数。

由于Facebook不知道用户打算分享的页面上的哪个图像,它会抓取页面的默认元标记,这就是用户时间轴上显示的内容。由于每张照片的网址相同,因此共享任何一张照片都会导致计数器增加所有照片。

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

+0

非常感谢您的帮助。 请你给我一个例子,请... 它对我非常有帮助 非常感谢你 – 2012-08-18 06:14:02

+0

你已经有每张照片的详细页面。只需将每张照片下的FB Like url设置为详细信息页面的匹配网址:'../ 1 /','../ 2 /'等。 – cpilko 2012-08-18 15:43:15

+0

非常感谢您... – 2012-08-19 17:16:01