2010-12-11 8 views
10

J'ai une section d'une page Web que je veux que les gens puissent accéder après avoir cliqué sur un bouton Facebook Like.Afficher le contenu après avoir clique sur Facebook comme bouton J'aime

Comment cacher cette zone particulière et l'afficher seulement après que quelqu'un clique sur le bouton "J'aime".

En ce qui concerne le code Facebook Like il ressemble à ceci:

<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

Existe-t-il un moyen de vérifier si un utilisateur particulier a aimé votre page/application facebook? Autrement dit, l'API facebook fournit-elle cette fonctionnalité? Si c'est le cas, vous pouvez l'utiliser pour vérifier si l'utilisateur a aimé votre page/application sur le serveur, et afficher/masquer le contenu en conséquence. – Cam

+0

J'ai posté cette question il y a un bon moment et j'ai reçu une notification disant que c'était devenu une "fameuse question". Je ne suis pas sûr que j'aime être associé à cette question liée à la corruption, lol. – Bijan

Répondre

17

utilisation de edge.create ':

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

vraiment simple ... peut même le coupler avec 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

Que faire si le bouton J'aime est déjà aimé, comment puis-je capturer cela? – joon

+0

pages.isFan ... Google et vous devriez être en mesure de trouver des documents à ce sujet. – trgraglia

0

Je ne suis pas tout à fait sûr si cela fonctionne. Rappelez-vous l'introduction f8 du bouton like facebook ne laissez pas les propriétaires de sites Web voir qui a aimé leur page.

Le bouton similaire est rendu côté client à partir du fichier de script java hébergé sur facebook. Je ne suis pas un expert en script super java, mais je ne connais pas le moyen d'obtenir des variables à partir de fichiers script Java externes.

La seule idée que j'ai est quand un utilisateur a rendu ses goûts publics. Vous pourriez probablement lire le cookie et ensuite rechercher ses goûts sur sa page Facebook publique. Comme charges facebook la plupart de son contenu vous pouvez ingénieur Revers dynamiquement les fonctions de script java utilisés sur la page publique par Facebook en interne, même si elles ne font pas partie de l'API officielle

0

Une autre façon est le plugin Like 2 Unlock for jQuery

Il permet de verrouiller des rabais, des vidéos, des liens de téléchargement, des images, des bonus, des formes et plus encore. Cela vous aidera à augmenter le nombre de likes, à augmenter le trafic et à augmenter le nombre de clients sur le réseau social.

+0

mais il est lié à votre URL. Si le portail du site n'est pas mon domaine, il ne fonctionnera pas! – Grasper

Questions connexes