Ein click()-Ereignis an die Facebook-Schaltfläche „Gefällt mir“ anhängen?

Lesezeit: 4 Minuten

Ich möchte etwas auf der Seite tun, wenn ein Benutzer auf „Gefällt mir“ klickt.

Ich dachte, etwas Einfaches wie das Folgende würde funktionieren:

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

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

Dies ist der iFrame, den FaceBook bereitstellt, um der Seite die Schaltfläche „Gefällt mir“ hinzuzufügen:

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

Mein Skript versucht, ein Klickereignis an ein Anker-Tag zu binden, das beim Laden der Seite in den iFrame geladen wird. Es funktioniert aber nicht. Gibt es eine Möglichkeit, jQuery dazu zu bringen, zu erkennen, wenn darauf geklickt wird? Vielen Dank

Benutzer-Avatar
serg

Mit der Facebook-API können Sie das „Gefällt mir“-Klickereignis nicht abonnieren, aber Sie können das „Gefällt mir“-Ereignis abonnieren (wird ausgelöst, wenn die „Gefällt mir“-Aktion abgeschlossen ist):

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

sehen hier.

  • aber das geht nicht in einem Tab, oder? alle anderen Lösungen wie bei facebook.com/901Tequila?v=ap4904458780 wo Sie ein Klick auf den Like-Button zur Pinnwand weiterleitet?

    – SteMa

    19. November 2010 um 17:42 Uhr

  • Diese Antwort ist nur gut, wenn ihr aufgeblähtes SDK verwendet wird, und die meisten Leute verwenden nur die iframe-Lösung.

    – vsync

    22. April 2013 um 21:20 Uhr


  • können wir auch ein anderes Ereignis bekommen. Ich habe es versucht und es gibt nur eine Antwort, wenn wir möchten,

    – Strohhut

    11. November 2014 um 7:34 Uhr

  • @StrawHat späte Antwort, hoffe aber, dass es anderen hilft. Verwenden Sie edge.remove für ein unähnliches Ereignis.

    – Ionut Tatu

    24. Juni 2015 um 7:20 Uhr

  • edge.create und edge.remove JS SDK-Ereignisse sind veraltet. Gibt es eine Alternative zu diesem @serg?

    – Frostborn

    4. Juli 2018 um 8:47 Uhr

Sie können JavaScript nicht verwenden, um auf Elemente innerhalb eines Iframes zuzugreifen, die nicht zur aktuellen URL gehören, da ich vermute, dass die von Ihnen verwendete Domain nicht facebook.com ist, können Sie auf diese Weise kein Ereignis an die Schaltfläche „Gefällt mir“ anhängen .

Erstellen Sie ein PHP-Skript (oder eine beliebige Sprache, die Sie verwenden), um die Quelle zu CURLen http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.MySite.Com... blahblahblah

Fügen Sie die Quelle von Facebook in Ihre HTML-Seite ein, Sie können dann mit dem Code von Facebook in JavaScript/jQuery machen, was Sie wollen.

Einige Beispiele für CURL in PHP – http://www.php.net/manual/en/curl.examples.php

  • Es ist auch höchstwahrscheinlich gegen ihre AGB/Richtlinie.

    – Peter Bailey

    15. September 2010 um 19:23 Uhr

  • Ich habe ernsthafte Zweifel, was so etwas funktionieren würde. Es würde den Like-Button spambar machen und Facebook kann das nicht zulassen.

    – Dennis

    15. September 2010 um 19:56 Uhr

  • Keine Ahnung, was ihre TOS sind, natürlich müssten Sie das überprüfen. @denis , das Kräuseln der URL führt zu demselben Ergebnis wie das direkte Anzeigen der Seite oder das Anzeigen in einem Iframe.

    – Damon Skelhorn

    15. September 2010 um 21:00 Uhr

  • Das wird niemals funktionieren. FB-Social-Plugins wie der Like-Button müssen in einem Iframe verwendet werden. Dies ist aus Sicherheitsgründen beabsichtigt. Die Social Plugins ermöglichen Aktionen, die Sitzungscookies von facebook.com verwenden, und da es sich um domänenübergreifende iFrames handelt, kann die Containerseite nicht über JavaScript mit ihnen interagieren (oder stören). Die Ausnahme hiervon ist die Verwendung von Steuerelementen, die durch domänenübergreifenden Kommunikationscode auf dem Dokument innerhalb des Iframes (der facebook.com-Seite mit der Schaltfläche „Gefällt mir“) verfügbar gemacht wurden. Sie können verwenden FB.Event.subscribe('edge.create', ...) auf diese Art.

    – AndreasF

    3. Oktober 2012 um 19:40 Uhr


Benutzer-Avatar
Joby Josef

Man kann „Gefällt mir“- und „Gefällt mir nicht“-Ereignisse der Facebook-Gefällt mir-Schaltfläche mithilfe der Schaltfläche erkennen edge.create und edge.remove beziehungsweise.

Benutzer-Avatar
Miga Siilegmaa

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

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

  • es wäre schön, wenn Sie eine Erklärung hinzufügen würden

    – mooga

    22. Februar 2019 um 8:15 Uhr

  • es wäre schön, wenn Sie eine Erklärung hinzufügen würden

    – mooga

    22. Februar 2019 um 8:15 Uhr

1054070cookie-checkEin click()-Ereignis an die Facebook-Schaltfläche „Gefällt mir“ anhängen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy