2010-12-11 6 views
10

Tôi có một phần của trang web mà tôi chỉ muốn mọi người có thể truy cập sau khi nhấp vào nút Thích trên Facebook.Hiển thị nội dung sau khi nhấp vào nút Thích trên Facebook

Làm cách nào để ẩn khu vực cụ thể đó và sau đó chỉ hiển thị khu vực đó sau khi có ai đó nhấp vào nút Thích.

Đối với mã Facebook Giống như nó trông như thế này:

<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

Có cách nào để kiểm tra xem một người dùng cụ thể có thích trang/ứng dụng facebook của bạn không? Tức là, API facebook cung cấp chức năng này? Nếu vậy bạn có thể sử dụng nó để kiểm tra xem người dùng đã thích trang/ứng dụng của bạn trên máy chủ và hiển thị/ẩn nội dung sao cho phù hợp. – Cam

+0

Tôi đã đăng câu hỏi này khá lâu trước đây và nhận được thông báo rằng nó đã trở thành "câu hỏi nổi tiếng". Tôi không chắc rằng tôi thích được liên kết với câu hỏi liên quan đến hối lộ này, lol. – Bijan

Trả lời

17

Sử dụng 'edge.create':

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

thực sự đơn giản ... thậm chí có thể ghép nối với 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

nếu nút thích được ưa thích, tôi có thể chụp cái này như thế nào? – joon

+0

pages.isFan ... Google và bạn sẽ có thể tìm tài liệu trên đó. – trgraglia

0

Tôi không hoàn toàn chắc chắn nếu làm việc này. Nhớ việc giới thiệu f8 của nút like facebook không cho phép chủ sở hữu trang web xem ai thích trang của họ.

Nút tương tự được hiển thị phía máy khách từ tệp tập lệnh java được lưu trữ trên facebook. Tôi không phải là một chuyên gia kịch bản java siêu, nhưng tôi không biết một cách để có được các biến từ các tập lệnh java bên ngoài.

Ý tưởng duy nhất tôi có là khi người dùng thực hiện lượt thích của mình ở chế độ công khai. Bạn có lẽ có thể đọc cookie và sau đó tìm kiếm thích của mình trên trang facebook công cộng của mình. Như facebook tải tối đa của nó là nội dung tự động bạn có thể revers kỹ sư các chức năng java script được sử dụng trên các trang công cộng bằng facebook trong nội bộ, ngay cả khi họ không phải là một phần của API chính thức

0

Một cách khác là các plugin Like 2 Unlock for jQuery

Nó cho phép để khóa giảm giá, video, tải về các liên kết, hình ảnh, nội dung tiền thưởng, các hình thức và nhiều hơn nữa. Nó sẽ giúp bạn tăng số lượt thích, để có thêm lưu lượng truy cập và nhiều khách hàng hơn từ mạng xã hội.

+0

nhưng nó được gắn với URL của bạn. Nếu cổng thông tin trang web không phải là tên miền của tôi, nó sẽ không hoạt động! – Grasper