jquery - personalizado - no aparece el boton me gusta en mi pagina de facebook
Adjuntar un evento de clic() al botón ''Me gusta'' de FaceBook? (5)
Me gustaría hacer algo en la página cuando un usuario haga clic en ''Me gusta''.
Pensé que algo simple como el siguiente funcionaría:
<script type="text/javascript">
$(document).ready(function () {
$(''.connect_widget_like_button clearfix like_button_no_like'').live(''click'', function () {
alert(''clicked'');
});
});
</script>
Este es el iFrame que suministra FaceBook para agregar el botón Me gusta a la página:
<iframe
id="FBLike"
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.MySite.Com... blahblahblah"
scrolling="no"
frameborder="0"
style="border:none; overflow:hidden; width:450px; height:80px;"
allowTransparency="true">
</iframe>
Mi secuencia de comandos intenta vincular un evento de clic a una etiqueta de anclaje que se carga en el iFrame cuando se carga la página. Sin embargo, no funciona. ¿Hay alguna manera para que jQuery reconozca cuándo se hace clic en esto? Gracias
Cree un script PHP (o el idioma que use) para CURL la fuente de http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.MySite.Com... blahblahblah
Coloque la fuente de Facebook en su página html, luego puede hacer lo que quiera en JavaScript / jQuery con el código de Facebook.
Algunos ejemplos para CURL en PHP - http://www.php.net/manual/en/curl.examples.php
He encontrado una solución a este problema que funciona bien con iframe. Se basa en una combinación de soluciones sugeridas aquí en stack-overflow. El primer paso es contar la cantidad de Me gusta en una página. Luego, almacena ese número en la variable global. Puedes hacer esto durante el evento de carga. En segundo lugar, use la solución sugerida en este enlace Detectar clic en Iframe usando JavaScript . Cuando un mouse deja un área específica, puede determinar si la cantidad de clics ha cambiado en función de la cantidad de clics anterior y la cantidad actual de clics.
El código para determinar el número de clics está disponible en este enlace http://jsfiddle.net/Takazudo/ function fetchLikeCount(url){ return $.Deferred(function(defer){ $.ajax({ dataType: ''jsonp'', url: ''https://api.facebook.com/method/fql.query?callback=callback'', data: { query: ''SELECT like_count FROM link_stat WHERE url="'' + url + ''"'', format: ''JSON'' } }).then(function(res){ try{ var count = res[0].like_count; defer.resolve(count); }catch(e){ reject(); } }, reject); function reject(){ defer.reject('';(''); }; }).promise(); }
.
La API de Facebook no te permite suscribirte al evento de clic similar, pero te permite suscribirte al evento similar (activado cuando se completa la acción similar):
FB.Event.subscribe(''edge.create'', function(response) {
// like clicked
});
mira here
No puede usar JavaScript para acceder a los elementos dentro de un iframe que no pertenece a la URL actual, ya que supongo que el dominio que está utilizando no es facebook.com, de esta manera no podrá adjuntar un evento al botón Me gusta .
Uno puede detectar el evento ''me gusta'' y ''no me gusta'' del botón Facebook like utilizando edge.create
y edge.remove
respectivamente.