Németország egyik tartományában – konrétan Schleswig-Holstein tartományban – betiltották a facebook tetszik gomb kihelyezését honlapokra, az adatvédelmi törvény megszegésére hivatkozva. Erről írt a SiliconFilter, az International Business Times, a HubSpot blog pedig a konzekvenciák levonására buzdít, egy rövid összezéssel együtt.

A téma röviden: az említett tartományban attól tartanak, hogy a facebook-nál felhasználói profilokat készítenek az internetezési szokások alapján, mert már akkor adatok kerülnek át az amerikai székhelyű céghez, amikor a tetszik gomb még csak megjelenik a böngészőben.

Nem vagyok jogász, de ezt a lépést programozóként ki tudom védeni: csak azoknak kell megmutatni a gombot – vagy akármelyik facebook plugin-t -, akik ezt kifejezetten kérik, ekkor ugyanis a ráutaló magatartás miatt a felhasználók részesei a döntésnek, hogy róluk adatok kerüljenek az éppen megtekintett honlappal kapcsolatban harmadik félhez.

Elméleti megoldás

Ahogy a bankok többsége is kétlépcsős bejelentkezést biztosít az online felületekre adatvédelmi okokból, ezt mi is könnyen meg tudjuk tenni egy kis programozással.

  • tegyünk ki egy helyőrző képet/feliratot
  • erre kattintva cseréljük le egy teljes értékű like gombra

Megvalósítás

Az első lépés nagyon egyszerű, egy szövegre vagy képre van csak szükség, ami ideiglenesen helyettesíteni tudja a Tetszik gombot, de mégis utal a funkcióra. Például:

Tetszene gomb

Ezután már csak azt kell megoldani, hogy kattintásra lecserélődjön az igazi ‘like’ gombra.

A szükséges minimum html:

1
2
3
4
5
<span>
  <img src="tetszene.gif"
       style="cursor:pointer;"
       onclick="javascript:wrapFacebook(this);"/>
</span>

… és egy kis darab javascript:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function wrapFacebook (imageObject) {
  var js,
      p;
  // elmentjük a span elem címét későbbre
  p = imageObject.parentNode;
  // átírjuk a tartalmát, hogy az igazi facebook
  // like gomb legyen benne, és egy hivatkozási pont
  // a facebook script betöltéséhez
  p.innerHTML = '<fb:like href="http://javascriptprog.hu/2011/09/05'
    + '/ketlepeses-facebook-like-gomb/">'
    + '</fb:like>'
    + '<div id="fb-root"></div>';
  // betöltjük a facebook scriptet
  js = document.createElement('script');
  js.src = "//connect.facebook.net/hu_HU/all.js#appId=132152313502382&xfbml=1";
  p.insertBefore(js, document.getElementById('fb-root'));	
}

A kódok az elmélet szemléltetésére készültek, nem egy-az-egyben való használatra. Érdemes megemlíteni, hogy nem minden honlaphoz jó megoldás az xfbml alapú plugin, illetve azt is, hogy nemrég kiadtak egy html5 verziót is.

Ez a megoldás egy kicsit kevésbé kényelmes, viszont elejét veheti azoknak a vitás eseteknek, amik a bejegyzés elején említett németországi tartományban is kialakultak.