2010-12-11 110 views
10

我有一个网页部分,我只希望人们在点击Facebook Like按钮后能够访问该部分。点击“Facebook Like”按钮后显示内容

如何隐藏该特定区域,然后仅在有人单击Like按钮后才显示该区域。

至于Facebook的代码一样,它看起来是这样的:

<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like href="www.oursite.com" show_faces="false" width="330" font="verdana"></fb:like> 

<div id="hidden-area">Hidden Content</div> 
+0

有没有办法来检查一个特定的用户是否喜欢你的Facebook页面/应用程序?也就是说,Facebook API是否提供这种功能?如果是这样,你可以用它来检查用户是否喜欢你的页面/应用程序在服务器端,并相应地显示/隐藏内容。 – Cam 2010-12-11 01:55:25

+0

不久前我发布了这个问题,并得到了一个通知,说它成了一个“有名的问题”。我不确定我喜欢与这个受贿相关的问题联系在一起,哈哈。 – Bijan 2012-06-28 17:50:29

回答

17

使用“edge.create”的一部分:

http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe

真的很简单......甚至可以将它与jQuery结合使用。

<script> 
    window.fbAsyncInit = function() { 
     FB.init({ 
      appId : '<?php echo $facebook->getAppId(); ?>', 
      session : <?php echo json_encode($session); ?>, // don't refetch the session when PHP already has it 
      status : true, // check login status 
      cookie : true, // enable cookies to allow the server to access the session 
      xfbml : true // parse XFBML 
     }); 

     // whenever the user logs in, we refresh the page 
     FB.Event.subscribe('auth.login', function() { 
      window.location.reload(); 
     }); 

     FB.Event.subscribe('edge.create', function(response) { 
      $.get('URLlink?uid=' + <?php echo $uid; ?>, function(data) { 
       $('#id').html(data); 
      }); 
     }); 
    }; 

    (function() { 
     var e = document.createElement('script'); 
     e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
     e.async = true; 
     document.getElementById('fb-root').appendChild(e); 
    }()); 
</script> 
+1

如果像按钮已经被喜欢,我该如何捕捉这个? – joon 2011-07-09 10:56:26

+0

pages.isFan ...谷歌它,你应该能够找到它的文档。 – trgraglia 2011-07-11 20:04:45

0

我不太清楚,如果这个工程。 记住类似按钮Facebook的f8介绍不会让网站所有者看到谁喜欢他们的页面。

Like按钮从Facebook上托管的Java脚本文件呈现客户端。 我不是一个超级java脚本专家,但我不知道从外部java脚本文件获取变量的方法。

我唯一的想法是,当一个用户使他的喜欢公开。你可能可以读取cookie,然后在他的公共Facebook页面上查找他的喜好。 如Facebook负载大部分内容动态,你可以翻领工程师公共页面上被Facebook内部使用的Java脚本功能,即使他们不属于官方API

0

另一种方式是插件Like 2 Unlock for jQuery

允许锁定折扣,视频,下载链接,图片,奖励内容,形式等。它可以帮助你增加喜欢的数量,从社交网络获得额外的流量和更多的客户。

+0

但它与您的URL绑定。如果网站门户不是我的域名,它将无法使用! – Grasper 2014-12-17 18:21:41