Heises socialSharePrivacy nun auch für MooTools
Samstag, 22.10.2011 18:39
Der Zeitschriftenverlag Heise hat vor Kurzem die jQuery-Erweiterung socialSharePrivacy herausgebracht. Diese bietet die Möglichkeiten, Seiten und Beiträge bei Facebook, Twitter und Google+ zu empfehlen, lädt deren Code jedoch erst nach einem Klick nach. Somit wird man von den Anbietern nicht automatisch beim Besuch einer Seite getrackt, sondern erst, wenn man die Seite empfiehlt.
Nun setze ich bei Franework jedoch nicht auf das JavaScript-Framework jQuery, sondern auf MooTools. Um die Ladezeiten der Seite gering zu halten, wollte ich nicht ein zweites Framework nur für die 2-Klick-Buttons einbinden. Deshalb setzte ich mich daran, den Code von socialSharePrivacy, der unter der MIT-Lizenz steht, für MooTools umzuschreiben.
MooTools unterscheidet sich in vielen Punkten von jQuery. Nicht nur viele Bezeichnungen lauten anders (z. B. Hinzufügen eines Eventhandler: MooTools - addEvent | jQuery - bind) , sondern auch die Strukur ist anders. Während jQuery die meisten Methoden über das '$'-Objekt anbietet, verteilt MooTools die Methoden auf verschiedene Klassen. Auch dass die meisten jQuery-Methoden im gegensatz zu MooTools auf Arrays angewendet werden können, hat die Portierung nicht gerade vereinfacht (hier muss man auf Array.each(function) zurückgreifen). Zu den weiteren Unterschieden werde ich wohl bald noch einen eigenen Artikel verfassen.
Die Erweiterung hat nun seinen Platz im MooTools Forge gefunden, dazu war das Anlegen eines neuen GitHub-Repositories Pflicht. Dort ist auch die Dokumentation zu finden, die Einbindung ist aber denkbar leicht:
window.addEvent('domready', function() {
document.getElements('.socialshareprivacy').each(function(element) {
element.socialSharePrivacy();
});
});
Der Funktion können alle Optionen übergeben werden, die es auch bei der jQuery Version gibt. Die Details dazu stehen auf der Original-Entwicklerseite. Der Code sucht dann nach allen Vorkommen von
<div class="socialshareprivacy"></div>
bzw. beliebigen Elementen mit der Klasse socialshareprivacy und fügt dort die 2-Klick-Buttons ein.
Ich bin froh, wenn noch mehr die Erweiterung bei sich einsetzen. Bisher habe ich diese nur bei mir implementiert, es kann also gut sein, dass noch Bugs vorhanden sind. Bei Fragen, Kommentaren oder Bugs einfach die Kommentarfunktion hier nutzen oder auf der Repository-Seite bei GitHub.

# Thomas am 13.01.2012 16:54
Hallo, vielen Dank für den Port auf mootools.
Wird das Script eigentlich nocht gewartet? (das jQuery script von heise.de ist jetzt in V. 1.3 oder war es das schon vor dem portieren?)
kleiner bug: gplus lässt sich nach dem ausschalten nicht wieder einschalten. (getestet nur in FF9 und Chrome16)
# franzlst am 23.01.2012 14:53
Das Script müsste auf V. 1.3 basieren. Ich werde Mitte Februar mal nach dem Bug suchen, jetzt stehen erst noch ein paar Klausuren an. Bei mir scheint das abschalten (ebenfalls FF9) zu funktionieren.
Macht es denn überhaupt Sinn, einen Anbieter wieder zu deaktivieren? Die Daten wurden ja dann eh schon übertragen.