Toon posts:

Tweet button click-event afvangen

Pagina: 1
Acties:

Acties:
  • 0Henk 'm!

  • Sanity11
  • Registratie: Januari 2004
  • Niet online
MOD: Sorry, ik had deze in "Webdesign, Markup & Clientside Scripting" moeten plaatsen 8)7

Hallo,

Ik probeer met javascript vast te stellen of er op een tweet button is geklikt om vervolgens een Ajax call uit te kunnen voeren. Facebook is hier op ingericht en stelt me in staat om zelfs te wachten tot de like procedure helemaal voltooid is. Dit heb ik als volgt aangepakt:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// -------------------------
    //  Fired when liking procedure is completed
    // -------------------------
    FB.Event.subscribe('edge.create', function(response) {
        console.log(response);
        var explode = response.split("/");
        var liked_what = explode[explode.length - 1];
        $.ajax({
          url: "http://localhost/testing/ajax/add_populairity/" + liked_what,
          context: document.body,
          success: function(){
            var text_populairity = $('.populairiteit_' + liked_what);
            var new_val = parseInt(text_populairity.text()) + 1;
            text_populairity.text(new_val);
          }
        }); 
    });


Dit luistert naar het event edge.create wat wordt gestuurd na de like procedure voltooid is. Ik denk dat dit met de Twitter api niet kan omdat ik die heb doorgespit en er niets over te vinden is. Google levert ook niets op. Nu probeer ik gewoon een klik op de twitter like button te registreren, maar dat lukt ook niet omdat het een iframe is afkomstig van een externe bron.

De button is als volgt geplaatst (wordt door de twitter code omgezet in een iframe):
HTML:
1
2
3
4
5
6
7
8
9
<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
<div>
   <a href="http://twitter.com/share" class="twitter-share-button"
      data-url="http://dev.twitter.com/pages/tweet_button"
      data-via="your_screen_name"
      data-text="Checking out this page about Tweet Buttons"
      data-related="anywhere:The Javascript API"
      data-count="vertical">Tweet</a>
</div>

Weet iemand misschien een slimme truuk om de klik op de button vast te kunnen stelen m.b.v JavaScript?(jQuery)

[Voor 3% gewijzigd door Sanity11 op 23-05-2011 22:17. Reden: verkeerd geplaatst]

www.diovisuals.co,


Acties:
  • 0Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-05 17:03

NMe

Quia Ego Sic Dico.

Je kán natuurlijk ook gewoon zelf de tweet afhandelen, moet je wel OAuth-authenticatie inbouwen in je site. Op zich niet zo tricky maar het kost wat tijd. :)

PRG>>WEB

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0Henk 'm!

Anoniem: 96523

Misschien denk ik wel te simpel, maar kun je niet gewoon de klik registreren zoals normaal?

JavaScript:
1
2
3
4
5
6
7
$(function() {
   if($('.twitter-share-button').length > 0) {
      $('.twitter-share-button').bind('click', function() {
         // doe wat je wilt doen
      });
   }
});


Uiteraard wel onderaan de DOM zetten ;)

Acties:
  • 0Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-05 17:03

NMe

Quia Ego Sic Dico.

Hoe precies wou je dat binden aan een click op een button in een iframe dan?

edit:
Zie vv hieronder voor de volledige uitleg van deze retorische vraag. :P

[Voor 35% gewijzigd door NMe op 24-05-2011 02:14]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 03:26

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

NMe schreef op dinsdag 24 mei 2011 @ 01:18:
Hoe precies wou je dat binden aan een click op een button in een iframe dan?
Precieser: binden aan een click op een button in een iframe waarvan de src verwijst naar een ander domein ;) Anders is 't niet (zo) / minder problematisch :Y)

Maar daar doel je natuurlijk, terecht, op ;) :>

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


Acties:
  • 0Henk 'm!

  • krvabo
  • Registratie: Januari 2003
  • Laatst online: 12:51

krvabo

MATERIALISE!

Zo maar een hersenspinsel, zou Jquery live() hier niet werken?

Pong is probably the best designed shooter in the world.
It's the only one that is made so that if you camp, you die.


Acties:
  • 0Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 13-01 10:59
Wat NMe zegt lijkt me de meest praktische oplossing. Gewoon zelf een de button maken middels de API.

Alternatief is het script van twitter downloaden en zelf hosten, dan kun je die een beetje aanpassen om het event toe te voegen.

[Voor 3% gewijzigd door Bosmonster op 24-05-2011 08:35]


Acties:
  • 0Henk 'm!

  • Sanity11
  • Registratie: Januari 2004
  • Niet online
Dank jullie, erg nuttige tips. Ik ga er vandaag in duiken en houd jullie op de hoogte van wat er werkt! In feite had ik al een eigen twitter button gemaakt met de api, maar ja, das iets minder mooi omdat je dan de teller er niet bij hebt. En idd, zelf de tweet afhandelen is wellicht ook een optie, maar daar is vast geen tijd voor... ;). Na Twitter komt Hyves ook nog met een repect button :?

[Voor 60% gewijzigd door Sanity11 op 24-05-2011 09:57]

www.diovisuals.co,


Acties:
  • 0Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-05 17:03

NMe

Quia Ego Sic Dico.

Als je zelf het script host loop je wel het risico dat de API waar die gebruik van maakt gewijzigd wordt en ineens zonder dat je het weet de tweetknop breekt. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 13-01 10:59
Hyves? Wasda?

  • Sanity11
  • Registratie: Januari 2004
  • Niet online
Haha, ja die negeren we nu ook. Twitter heb ik wel gemaakt, door de klik af te vangen op een gewone button en te checken of het betreffende i.p adres niet al eens eerder getweet heeft.

www.diovisuals.co,

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee