Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
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');
}
}>
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:
/applications/core/interface/imageproxy/imageproxy.php?img=http://img403.imageshack.us/img403/7608/asdfdf.png&key=dc17e64783a434878bc92231373bfcbccbea7d5629bff7f2e3cee2133cb73c61" alt="asdfdf.png" />
Como eu faço para implementar esse script ali?
Abraços!
Troque:
var els = document.getElementsByClassName('fb-like');
por
var els = document.getElementsByClassName('fb-comments');
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>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></body>
</html>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><!--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
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...
>
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?
>
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
Eu coloquei em um arquivo separado e tbm não deu certo :(
>
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?
>
Olha só, se você coloca direto o "data-href" no elemento, sem JS sem nada, ele funciona?
Não funciona...
'-'
Ta dificl isso heim...
>
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
ACHO que somente com HTML não tem como...
Quando eu preciso, uso PHP.