2010-12-11 12 views
10

Ich habe einen Abschnitt einer Webseite, auf den nur Personen zugreifen sollen, die auf einen Facebook Like-Button klicken.Inhalt nach dem Klicken auf Facebook anzeigen Schaltfläche "Gefällt mir"

Wie kann ich diesen bestimmten Bereich ausblenden und dann nur anzeigen, nachdem jemand auf die Schaltfläche "Gefällt mir" geklickt hat?

Wie für den Facebook Like-Code sieht es so aus:

<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

Gibt es eine Möglichkeit zu überprüfen, ob ein bestimmter Nutzer Ihre Facebook-Seite/App gemocht hat? Das heißt, bietet die Facebook-API diese Funktionalität? In diesem Fall könnten Sie überprüfen, ob dem Nutzer Ihre Seite/App auf der Serverseite gefallen hat, und den Inhalt entsprechend anzeigen/verbergen. – Cam

+0

Ich habe diese Frage vor einiger Zeit gestellt und bekam eine Benachrichtigung, dass es eine "berühmte Frage" wurde. Ich bin mir nicht sicher, ob ich gerne mit dieser Frage im Zusammenhang mit Bestechung in Verbindung gebracht werde, lol. – Bijan

Antwort

17

Use ‚edge.create‘ nicht Teil der offiziellen API sind:

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

wirklich einfach ... kann es sogar mit jQuery verbinden.

<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

Was ist, wenn die Schaltfläche "Gefällt mir" schon gefällt? Wie kann ich das erfassen? – joon

+0

pages.isFan ... Google es und Sie sollten in der Lage sein, Dokumente zu finden. – trgraglia

0

Ich bin mir nicht ganz sicher, ob das funktioniert. Erinnerung an die f8 Einführung der Like-Button Facebook lassen Sie nicht Website-Besitzer sehen, wer ihre Seite mochte.

Die Schaltfläche "Gefällt mir" wird auf der Clientseite von der auf Facebook gehosteten Java-Skriptdatei gerendert. Ich bin kein Super-Java-Skript-Experte, aber ich kenne keine Möglichkeit, Variablen aus externen Java-Skriptdateien zu erhalten.

Die einzige Idee, die ich habe, ist, wenn ein Benutzer seine Likes öffentlich gemacht hat. Du könntest wahrscheinlich den Cookie lesen und dann seine Likes auf seiner öffentlichen Facebook-Seite nachschlagen. Als Facebook lädt das meiste davon Inhalt ist dynamisch können Sie revers die Java-Script-Funktionen auf der öffentlichen Seite von Facebook intern verwendet Ingenieur, auch wenn sie

0

Eine andere Möglichkeit ist das Plugin Like 2 Unlock for jQuery

Es ermöglicht Rabatte, Videos, Download-Links, Bilder, Bonus-Inhalte, Formulare und mehr zu sperren. Es wird Ihnen helfen, die Anzahl der Likes zu erhöhen, zusätzlichen Traffic und mehr Kunden aus dem sozialen Netzwerk zu erhalten.

+0

, aber es ist an Ihre URL gebunden. Wenn das Website-Portal nicht meine Domain ist, wird es nicht funktionieren! – Grasper

Verwandte Themen