Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Recommended Posts

Olá pessoal, beleza?

 

Estou criando um site de entretenimento, e gostaria de fazer algo para aumentar os likes da página no facebook, desse site.

 

Pensei em criar flutuante com o botão de curtir, mas ficaria chato, pois uma vez que o usuário já tenha curtido, a div sempre ficará enchendo a tela do cara.

 

Encontrei um site que faz essa função de forma perfeita, da uma olhada lá por favor: http://br.vonvon.me/quiz/534

 

Não sei como ele ler que a pessoa esta logado no facebook ou não. Acho que é pelo aplicativo, quando entra com o facebook para testar.

 

Então... quando curti a página, essa barra no topo não aparece mais, pois já curtiu, se descurtir, ela volta a aparecer.

 

Eu já tenho uma aplicativo que puxa as informações do usuario: http://testesdivertidos.com

só não sei como fazer essa questão da DIV que contem o botão do like sumir, após curtir.

 

Toda ajuda é valida!

Desde já agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wellington,

Você pode fazer isso de algumas maneiras e vou deixar duas:

  • Você pode salvar um cache eterno, se ele clicar em curtir, a aba fecha e o cache segura ela fechada pelo resto da vida.
  • Você pode atrelar a curtida a conta do facebook, mas o problema é que se ele não estiver logado, o botão vai aparecer.

A do cache resolve, não?

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grande Henrique, beleza?

 

Bom, acho que para esse meu caso, a segunda opção é a melhor, pois se o usuário não estiver logado no facebook, nada poderá fazer dentro do site. Os testes dependem exclusivamente dos dados do usuario para poder rodar.

 

Então, essa parada de aparecer caso esteja deslogado é uma boa.

 

Mas vem a grande questão, como fazer? rsrs

 

Manjo pouquíssimo de programação. teria alguma forma mastigada ai pra passar?

 

Abraço cara!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Wellington, faz tempo que não te via por esses lados do fórum.

Essa questão fica um pouco fora de HTML/CSS, mas vou tentar te ajudar da melhor forma possível. Se você precisa saber se o usuário está logado ou não, você primeiro vai precisar estudar e entender a API do Facebook SDK PHP. Ela vai ser a responsável por identificar se um usuário X está logado no facebook.

Como não tenho tanto tempo agora (estou de saída aqui), vou deixar um post explicando como funciona o SDK e como configurar ele na sua página pra identificar se um usuário está logado.

Veja aqui: http://stackoverflow.com/questions/25201096/check-if-facebook-user-is-logged-in-to-app-with-php-sdk

 

Se não conseguir implementar, nos avise que tentaremos solucionar a sua questão.

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehehe, estou sendo de olho nas coisas, mas prefiro deixar as respostas para os profissionais, tipo você! :D

 

Bom, vou dar uma estudada nesse material. Eu já tenho uma aplicação no meu site, que puxa nome do usuário e foto, e acho que ela ver se o cara ta logado no facebook também!

 

Vou vou estudar o material que me passou e retorno aqui!

 

Vlw Henrique! abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Henrique, caso possa me ajudar, por favor!

 

Eu dei uma olhada boa nesse material que me mandou, e notei que é mais ou menos o mesmo que já tenho em minha aplicação. Minha aplicação esta rodando legal http://testesdivertidos.com

 

Acho que só preciso saber como puxar a função que identifica se o usuario curtiu ou não a página, para exibir ou não o botão para ele, sabe me informar isso?

 

Seria:

Logado e curtiu a página, botão não aparece.

Logado e NÃO curtiu a página, botão aparece.

 

Caso precise dar uma olhada, aqui está minha ligação:

<script>
    // Load the SDK asynchronously
    (function(d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) return;
        js = d.createElement(s); js.id = id;
        js.src = "//connect.facebook.net/pt_BR/sdk.js#xfbml=1&version=v2.6&appId=1065386780209103";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));

  // Isto é chamado com os resultados a partir de FB.getLoginStatus ().
  var urlResolved;
  var pageResolved;
  function statusChangeCallback(response) {
    console.log('statusChangeCallback');
    console.log(response);
    // O objeto de resposta é retornado com um campo de status que permite que o
    // App saber o status de login atual da pessoa.
    // A documentação completa sobre o objeto de resposta pode ser encontrada na documentação
    // Para FB.getLoginStatus ().
//        document.getElementById('status').innerHTML = '<?php //echo '<img src='.$values2[0].'>'; ?>//';
//        document.getElementById('shareBtn').style.display = "none";
        if (response.status === 'connected') {
            // Logado em sua aplicação e Facebook.
        //        testAPI(response.authResponse.accessToken);
            console.log('Welcome!  Fetching your information.... ');
            FB.api('/me?fields=birthday,email,name,age_range&access_token=' + response.authResponse.accessToken, function(apiResponse) {
                console.log('Successful login for: ' + apiResponse.name);
                document.getElementById('loginBtn').innerHTML = '';
                urlResolved = '<?php echo $img1; ?>'+apiResponse.id+'&name='+apiResponse.name+'<?php echo $img2; ?>';
                pageResolved = '<?php echo $page1; ?>'+apiResponse.id+'<?php echo $page2; ?>'+'/'+apiResponse.name.replace(' ','-')+'<?php echo $page3; ?>';

        //            console.log(pageResolved);
//                document.getElementById('status').innerHTML = '<img src="'+urlResolved+'">';
//                document.getElementById('shareBtn').style.display = "initial";
                document.getElementById('testeBtn').style.display = "initial";
            });
        } else {
            // A pessoa não está logado no Facebook, por isso não temos certeza se
            // Eles são registrados para este aplicativo ou não.
            document.getElementById('status').innerHTML = '<?php echo '<img src='.$values2[0].'>'; ?>';
            document.getElementById('shareBtn').style.display = "none";
            document.getElementById('testeBtn').style.display = "none";
        }
  }


  // This function is called when someone finishes with the Login
  // Button.  See the onlogin handler attached to it in the sample
  // code below.
  window.fbAsyncInit = function() {
      FB.init({
        appId       : 'xxxxxxxx',
        status      : false,
        cookie      : true,  // enable cookies to allow the server to access the session
        xfbml       : true,  // parse social plugins on this page
        version     : 'v2.6' // use version 2.2
      });

      FB.Event.subscribe('auth.authResponseChange', function(response) {
          statusChangeCallback(response);
      });
  };
</script>

Lembrando que eu peguei o login padrão lá do devloper do facebook, e um amigo me ajudou com as funções.

 

Mas ele não estou podendo contatar ele no momento.

 

Obrigado desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wellington,

Desculpa a demora, mas vamos lá!

Você tem essa função no final do código:

 window.fbAsyncInit = function() {
      FB.init({
        appId       : 'xxxxxxxx',
        status      : false,
        cookie      : true,  // enable cookies to allow the server to access the session
        xfbml       : true,  // parse social plugins on this page
        version     : 'v2.6' // use version 2.2
      });

      FB.Event.subscribe('auth.authResponseChange', function(response) {
          statusChangeCallback(response);
      });
  };

Altere o STATUS para TRUE e depois vamos programar um pouquinho pra saber se o usuário curtiu ou não sua página.

Segue o código JS:

$(document).ready(function() {
   FB.login(function(response) {
      if ( response.session ) {
         var user_id = response.session.uid;
         var page_id = "ID da sua página do face";
         var query = "SELECT uid FROM page_fan WHERE page_id="+page_id+"and uid="+user_id;
         var exec_query = FB.Data.query(query);
         
         exec_query.wait(function(rows) {
            if ( rows.length == 1 && rows[0].uid == user_id ) {
               // Aqui o cara já curtiu sua página.
               $('#div_do_like').hide();
            } else {
               // Aqui o cara não curtiu sua página.
               $('#div_do_like').show();
            }
         });
      } else {
         // Aqui diz que o usuário não está logado no facebook, então você pode deixar o botão de like aparecendo, assim pede pra ele se conectar.
      }
   });
});

Acho que isso deve funcionar ahushuahusahusahus.

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá parceiro, obrigado mais uma vez!

 

Fiz o que tu falou, mas não rolou o efeito de esconder a div, caso o cada curta, veja por favor se fiz correto

 

A função que faz a ligação ao facebook, está dentro do meu single.php, tem algum problema?

Troquei o FALSE, por TRUE: http://puu.sh/pTxRE/41617fa475.png

 

No meu header eu coloquei:

<head>

<script type="text/javascript">
    $(document).ready(function() {
       FB.login(function(response) {
          if ( response.session ) {
             var user_id = response.session.uid;
             var page_id = "1107649722591782";
             var query = "SELECT uid FROM page_fan WHERE page_id="+page_id+"and uid="+user_id;
             var exec_query = FB.Data.query(query);
             
             exec_query.wait(function(rows) {
                if ( rows.length == 1 && rows[0].uid == user_id ) {
                   // Aqui o cara já curtiu sua página.
                   $('#div_do_like').hide();
                } else {
                   // Aqui o cara não curtiu sua página.
                   $('#div_do_like').show();
                }
             });
          } else {
             // Aqui diz que o usuário não está logado no facebook, então você pode deixar o botão de like aparecendo, assim pede pra ele se conectar.
          }
       });
    });
</script>

</head>

<body>
	<style type="text/css">
		#div_do_like{width: 100%; min-height: 30px; background: #3B5998; line-height: 30px;}
		.content-topo{margin: auto; max-width: 1000px;}
		.content-topo-left{float: left; width: 50%; text-align: right; color: #fff; font-weight: bolder; font-size: 15px;}
		.content-topo-right{float: right; width: 50%; height: 25px;}		
	</style>

	<div id="div_do_like">
		<div class="content-topo">
			<div class="content-topo-left">
				Nós gostamos de você. Curta a gente de volta!
			</div>
			<div class="content-topo-right">
				<div class="fb-like" data-href="https://facebook.com/testesdivertidos" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div>
		    </div>
		</div>
	</div>
</body>

Mas não consegui fazer rodar.

 

A intenção ai no código, é após curtir, esconder toda essa div azul que é a #div_do_like

da uma olhada: http://testesdivertidos.com

 

Muito obrigado henrique! Abraço!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wellington, beleza?

Dei uma pesquisada em tópicos semelhantes e encontrei as seguintes possíveis soluções:

Creio que o segundo link consiga solucionar grande parte do seu problema.

Lembre-se de fazer o seguinte... Se o seu site está em wordpress, chame primeiro a função da API abaixo da chamada do jQuery e então chame a função condicional. Ex.:

   <script src="JQUERY"></script>
   <script src="FACEBOOK API"></script>
   <script src="FUNÇÃO"></script>
</body>
</html>

Eu não entendo como foi organizado o seu projeto, então fica difícil tentar uma solução direta.

Abraços brother!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Henrique, tranquilo por aqui, na luta!

 

Obrigado por sua boa vontade em ajudar, parceiro!

 

Vou dar uma estudada na função e retorno!

 

Abraço!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Henrique, tranquilo por aqui, na luta!

Obrigado por sua boa vontade em ajudar, parceiro!

Vou dar uma estudada na função e retorno!

Abraço!!!!

Fa Wellington, belezA!! Voce conseguiu resolver essa bucha?? Me ajude, eu preciso disso tambem em meu wordpress!! Valeu!!

  • 0

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá.
      Estou atualizando meu conhecimento com Front-End e me deparei com o seguinte problema.
      Criei um sistema para fazer o upload de imagens e alguns campos text.
      Algo bem simples para depois começar a estudar javascript para mostrar a miniatura....
      Mas quando saio do navegador Chrome ou da aba por mais de 3 minutos, ao retornar o navegador as vezes atualiza ou nem chega atualizar mas limpa os campos.
      Estou usando um Smart Motorola com Android, mas um amigo testou no iPhone e acontece a mesma coisa.
      Gostaria de saber se há como usar javascript para evitar isso?
      Agradeço desde já.

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <title>Uploader</title>
      </head>
      <body>
          <form action="?" method="post" enctype="multipart/form-data">
              <br><br>
              <div>selecione a imagem 1</div>
              <input type="file" name="foto1" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem1">
              
              <br><br>
              <input type="file" name="foto2" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem2">
              
              <br><br>

              <input type="file" name="foto3" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem3">
              
              <br><br>
              <input type="submit" value="Enviar">
              <br><br>
          </form>
      <?php
      if ($_SERVER['REQUEST_METHOD'] == 'POST')
      {
          vardump ($_FILES);
      }
      ?>
      </body>
      </html>
       
       
       
    • Por belann
      Olá!
       
      Estou usando o nextjs versão 15.2.3 e criei uma navbar que quando é carregado o programa aparece com a home, mas na hora de clicar na página produtos desaparece a navbar.
      A navbar esta sendo chamada no layout.tsx estou usando typescript
      e fica dessa forma
      <div>           <Navbar/>             <main>{children}</main>             </div>  
    • Por ILR master
      Fala pessoal, tudo bem?
       
      Eu tenho o seguinte código:
       
      <script>
         $(function(){
      var jElement = $('.fixar_banner');
      $(window).scroll(function(){
          if ( $(this).scrollTop() > 120 ){
              jElement.css({
                  'position':'fixed',
                  'top':'10px'
              });
          }else{
              jElement.css({
                  'position':'relative',
                  'top':'auto'
              });
          }
      });
      });
      </script>
       
      Porém, eu quero que a div fique fixa até que outro elemento apareça na tela, tipo o rodapé da página por exemplo. É mais ou menos como a página de notícia do uol.
      https://noticias.uol.com.br/internacional/ultimas-noticias/2025/01/19/sonho-americano-brasileiros-moram-em-carro-e-buscam-comida-no-lixo-nos-eua.htm
       
      Espero ter sido claro.
       
      Obrigado :)
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.