Ir para conteúdo

POWERED BY:

Arquivado

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

Jimmy Page_73975

Como obter URL automaticamente?

Recommended Posts

Boa tarde galera, sou novo aqui. :)

 

Alguém sabe como obter URL automaticamente para eu poder colocar no botão like do Facebook?

 

Por que cada página precisa de uma URL e da muito trabalho ficar mudando uma por uma, veja um exemplo:

 

<!-- Like Facebook--><div class="fb-like" data-href="AQUI VAI A URL" data-send="false" data-

layout="button_count" data-width="30" data-show-faces="false"></div><!-- Like Facebook-->

 

Eu preciso colocar um código que obtenha a URL automaticamente ali onde está "AQUI VAI A URL".

 

àlgume sabe fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com Javascript é possível.

 

window.onload = function(){
var els = document.getElementsByClassName('fb-like');
if(!els) return false;

for(var i = 0; i < els.length; i++) {
els[i].setAttribute('data-url', 'SUA URL AQUI');
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com Javascript é possível.

 

window.onload = function(){
var els = document.getElementsByClassName('fb-like');
if(!els) return false;

for(var i = 0; i < els.length; i++) {
els[i].setAttribute('data-url', 'SUA URL AQUI');
}
}

 

Cara eu acabei de descobrir que para o botão like não precisa de URL.

 

Agora o problema é com a caixa de comentários via Facebook.

 

Esse é o código da caixa:

 

<!--Comentários Facebook-->
      <div class="fb-comments" data-href="AQUI VAI A URL"  data-num-posts="15" data-width="1024"></div>
<!--Comentários Facebook--> 

 

Eu preciso que ali onde está escrito "AQUI VAIA URL", pegue a URL automaticamente, porque se deixar vazio ali vai ficar dessa forma:

 

asdfdf.png

 

Como eu faço para implementar esse script ali?

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque:

var els = document.getElementsByClassName('fb-like');

por

var els = document.getElementsByClassName('fb-comments');

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Continua dando este erro: "O plugin de comentários requer um parâmetro href."

 

Você pode me explicar melhr como usa esse script?

 

Olha como está o código completo:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sem título</title>


<script type="text/javascript">      
window.onload = function(){
var els = document.getElementsByClassName('fb-comments');
if(!els) return false;

for(var i = 0; i < els.length; i++) {
       els[i].setAttribute('data-url', 'SUA URL AQUI');
}
}

</script>

</head>

<body>


<!--Comentários Facebook-->
      <div class="fb-comments" data-href=""  data-num-posts="15" data-width="1024"></div>
<!--Comentários Facebook-->  

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

No script que o Henrique passou, se você analisar vai ver que ele está setando o atributo "data-url", mas o que você quer é "data-href", basta substituir.

 

Outra coisa, se deseja adicionar automaticamente a url da página atual, substitua 'SUA URL AQUI' por document.location.toString()

 

Script ficaria assim:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sem título</title>
<script type="text/javascript">      
window.onload = function(){
   var els = document.getElementsByClassName( 'fb-comments' ),
       i;

   if( !els ) return false;

   for( i = 0; i < els.length; i++ ) {
       els[i].setAttribute( 'data-href', document.location.toString() );
   }
}
</script>
</head>
<body>
<!--Comentários Facebook-->
      <div class="fb-comments" data-href=""  data-num-posts="15" data-width="1024"></div>
<!--Comentários Facebook-->  
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu certo :/

 

Olhe como está o código:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sem título</title>
<script type="text/javascript">      
window.onload = function(){
   var els = document.getElementsByClassName( 'fb-comments' ),
       i;

   if( !els ) return false;

   for( i = 0; i < els.length; i++ ) {
       els[i].setAttribute( 'data-href', document.location.toString() );
   }
}
</script>
</head>
<body>

<!--facebook-->
   <div id="fb-root"></div>
<script>(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/all.js#xfbml=1";
 fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<!--facebook-->


<!--Comentários Facebook-->
      <div class="fb-comments" data-href=""  data-num-posts="15" data-width="1024"></div>
<!--Comentários Facebook-->  
</body>
</html>

 

Olha como fica: http://www.vncteste.xpg.com.br/teste

Compartilhar este post


Link para o post
Compartilhar em outros sites

Provavelmente o erro é que este link esteja sendo carregado dinamicamente...

Tipo assim, como o link do "data-href" é carregado somente após a execução do seu script, provavelmente tem um outro script do facebook tentando ler este link antes de ser adicionado o tal link

A solução pra isso seria carregar os script tudo dinamicamente LOL

aí tem que ver tudinho...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Provavelmente o erro é que este link esteja sendo carregado dinamicamente...

Tipo assim, como o link do "data-href" é carregado somente após a execução do seu script, provavelmente tem um outro script do facebook tentando ler este link antes de ser adicionado o tal link

A solução pra isso seria carregar os script tudo dinamicamente LOL

aí tem que ver tudinho...

 

Pode me explicar melhor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode me explicar melhor?

Bem...

É como você querer colher laranja tendo só a semente da laranjeira shaushaussahushau

Tipo, você até adiciona o link, mas se o facebook tentar ler o link do "data-href" antes do link ser adicionado, aí vai ser como se não tivesse adicionando nada...

Pelo o meu teste aqui, o link apareceu somente quando o site terminou de carregar, e você não quer isso, você quer que a ultima coisa a carregar seja as configurações do Facebook, então você precisa salvar todo o JS deles em algum lugar, e carrega-lo dinamicamente, após carregar o link

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu coloquei em um arquivo separado e tbm não deu certo :(

Olha só, se você coloca direto o "data-href" no elemento, sem JS sem nada, ele funciona?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não funciona...

 

'-'

 

Ta dificl isso heim...

 

vish, faz o seguinte, me add no msn: ismael.dullius.machado@hotmail.com

aí a gente conversa melhor xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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