Прикрепить событие click () к кнопке «Мне нравится» на FaceBook? - PullRequest
21 голосов
/ 15 сентября 2010

Я бы хотел что-то сделать на странице, когда пользователь нажимает «Мне нравится».

Я думал, что сработает что-то простое, подобное следующему:

<script type="text/javascript">
    $(document).ready(function () {

        $('.connect_widget_like_button clearfix like_button_no_like').live('click', function () {
            alert('clicked');
        });
    });
</script>

Это iFrame, который предоставляет FaceBook для добавления кнопки «Нравится» на страницу:

<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>

Мой сценарий пытается привязать событие click к тегу привязки, который загружается в iFrame при загрузке страницы.Это не работает, хотя.Есть ли какой-нибудь способ для меня, чтобы заставить jQuery распознавать, когда на него нажимают?Спасибо

Ответы [ 5 ]

36 голосов
/ 15 сентября 2010

Facebook API не позволяет вам подписаться на подобное событие клика, но позволяет подписаться на подобное событие (срабатывает, когда подобное действие завершено):

FB.Event.subscribe('edge.create', function(response) {
  // like clicked
});

см. здесь .

4 голосов
/ 15 сентября 2010

Создайте сценарий PHP (или любой другой язык, который вы используете) для CURL источника из http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.MySite.Com... blahblahblah

Поместите источник из Facebook на свою html-страницу, затем вы можете делать все что угодно в JavaScript / jQuery с кодом из Facebook.

Некоторые примеры CURL в PHP - http://www.php.net/manual/en/curl.examples.php

3 голосов
/ 15 сентября 2010

Вы не можете использовать JavaScript для доступа к элементам внутри фрейма, которые не принадлежат текущему URL, так как я предполагаю, что используемый вами домен не является facebook.com, вы не сможете прикрепить событие к кнопке «Нравится» таким образом.

2 голосов
/ 04 июля 2011

Можно определить событие «как» и «в отличие» от кнопки «Facebook», используя edge.create и edge.remove соответственно.

0 голосов
/ 22 февраля 2019
<script type="text/javascript">
    $(document).ready(function () {

        $('.connect_widget_like_button clearfix like_button_no_like').live('click', function () {
            alert('clicked');
        });
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...