Eredmény: 1 - 7 (7) összesen

Téma: Facebook oldal

  1. #1
    Szerkesztő
    Csatlakozott
    12-12-07
    Hozzászólás
    280
    Begyűjtött 124 köszönetet
    99 hozzászólásával

    Alapbeállítás Facebook oldal

    Sziasztok!

    Hogyan lehet a facebook page pluginnál ellenőrizni, hogy a felhasználó ráklikkelt-e a like gombra?
    Nem tudtam sehogy kiszelektálni.
    Tehát ilyesmi kellene:

    $('.fb-like-btn').click(function(){
    //csinálj valamit
    });

    Előre is köszönöm a segítséget és boldog ünnepeket kívánok!



  2. #2
    'Say Hello To My Little Friend'
    Csatlakozott
    10-04-13
    Hely
    Budapest
    Hozzászólás
    2.784
    Begyűjtött 863 köszönetet
    659 hozzászólásával

    Alapbeállítás re: Facebook oldal

    Van erre az FB-nek egy event-je, arra kell feliratkozni JS-ből:
    https://developers.facebook.com/docs...subscribe/v2.3

    (egy Google keresés és első találat volt: javascript - Detect when Facebook like button is clicked - Stack Overflow)



  3. #3
    Szerkesztő
    Csatlakozott
    12-12-07
    Hozzászólás
    280
    Begyűjtött 124 köszönetet
    99 hozzászólásával

    Alapbeállítás re: Facebook oldal

    Idézet Emphus eredeti hozzászólása Hozzászólás megtekintése
    Van erre az FB-nek egy event-je, arra kell feliratkozni JS-ből:
    https://developers.facebook.com/docs...subscribe/v2.3

    (egy Google keresés és első találat volt: javascript - Detect when Facebook like button is clicked - Stack Overflow)
    Köszönöm a válaszod.
    Ezeket már végigpróbáltam, a Google első 3 oldalát végignéztem.
    Ezt a megoldást ismerem, csak valamiért nem működik, ezért gondoltam hogy van más megoldás is rá, azért kérdeztem itt.



  4. #4
    'Say Hello To My Little Friend'
    Csatlakozott
    10-04-13
    Hely
    Budapest
    Hozzászólás
    2.784
    Begyűjtött 863 köszönetet
    659 hozzászólásával

    Alapbeállítás re: Facebook oldal

    Idézet apacska eredeti hozzászólása Hozzászólás megtekintése
    Köszönöm a válaszod.
    Ezeket már végigpróbáltam, a Google első 3 oldalát végignéztem.
    Ezt a megoldást ismerem, csak valamiért nem működik, ezért gondoltam hogy van más megoldás is rá, azért kérdeztem itt.
    Kipróbáltam, nálam hibátlanul működik az edge.create és edge.remove eseményekre feliratkozós kód, FF és Chrome alatt is megy. Bár tény, hogy nem túl gyors, mert az FB-vel kommunikál előtte, de 3-5 másodperccel a like vagy unlike megnyomása után meg is hívódik a callback függvény, szépen le is fut, ahogy az kell. Szóval ha Nálad nem megy, akkor szimplán rosszul csináltál valamit.

    Itt a teszt kódom:

    Kód:
    <html>
    	<head></head>
    	<body>
    		<div id="fb-root"></div>
    		<script>(function(d, s, id) {
    		  var js, fjs = d.getElementsByTagName(s)[0];
    		  if (d.getElementById(id)) return;
    		  js = d.createElement(s); js.id = id;
    		  js.src = "//connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v2.5&appId=1650246298580249";
    		  fjs.parentNode.insertBefore(js, fjs);
    		}(document, 'script', 'facebook-jssdk'));</script>
    
    		<div class="fb-page" data-href="https://www.facebook.com/facebook" data-tabs="timeline" data-width="300" data-height="150" data-small-header="false" data-adapt-container-width="false" data-hide-cover="false" data-show-facepile="false"><div class="fb-xfbml-parse-ignore"><blockquote cite="https://www.facebook.com/facebook"><a href="https://www.facebook.com/facebook">Facebook</a></blockquote></div></div>
    		
    		
    		<script>
    			var page_like_callback = function(url, html_element) {
    			  console.log("page_like_callback");
    			  alert("like");
    			}
    			var page_unlike_callback = function(url, html_element) {
    			  console.log("page_unlike_callback");
    			  alert("unlike");
    			}
    			
    			window.onload = function(e){ 
    				// In your onload handler
    				FB.Event.subscribe('edge.create', page_like_callback);
    				FB.Event.subscribe('edge.remove', page_unlike_callback);
    			};
    		</script>
    	</body>
    </html>
    Megjegyzés: az a megoldás, amit Te írtál a nyitó posztban, nem fog működni, mert iframen belül van az FB like box, aminek az elemeit nem éred el JS-ből (hisz a böngésző tiltja, mert ha elérnéd, az elég komoly biztonsági kockázat lenne, gyakorlatilag navigálni lehetne a felhasználó nevében bármilyen iframe-be beágyazott weboldalon). Csak az FB által adott eventeket tudod használni, szerintem nincs más megoldás.



  5. Az alábbi felhasználók hálásak a válaszért:

    apacska (2015-12-24)

  6. #5
    Szerkesztő
    Csatlakozott
    12-12-07
    Hozzászólás
    280
    Begyűjtött 124 köszönetet
    99 hozzászólásával

    Alapbeállítás re: Facebook oldal

    Nálam az volt a probléma, hogy az FB objektumot nem találta, de a megosztás FB.ui-val működött. Ha konzolból meghívtam az FB-t akkor a konzol kiírta hogy az egy objektum stb., szóval mégis deffiniálva volt. Köszi a kódot, ezt majd igy egyben kipróbálom.



  7. #6
    'Say Hello To My Little Friend'
    Csatlakozott
    10-04-13
    Hely
    Budapest
    Hozzászólás
    2.784
    Begyűjtött 863 köszönetet
    659 hozzászólásával

    Alapbeállítás re: Facebook oldal

    Idézet apacska eredeti hozzászólása Hozzászólás megtekintése
    Nálam az volt a probléma, hogy az FB objektumot nem találta, de a megosztás FB.ui-val működött. Ha konzolból meghívtam az FB-t akkor a konzol kiírta hogy az egy objektum stb., szóval mégis deffiniálva volt. Köszi a kódot, ezt majd igy egyben kipróbálom.
    Ha simán behányod a JS-be, akkor még nem jött létre az FB objektum. Az FB objektum csak akkor elérhető, ha az onload esemény már lefutott (betöltődött a teljes oldal), előtte nem, vagy esélyesen nem. A lényeg, hogy minden FB-s cuccot window.onload-ba rakj, és akkor létezni fog az objektum (a példakódban amúgy oda is van írva kommentben, hogy onload handlerbe rakd a dolgokat, én is bent hagytam a saját példámban: "// In your onload handler").



  8. Az alábbi felhasználók hálásak a válaszért:

    apacska (2015-12-25)

  9. #7
    Szerkesztő
    Csatlakozott
    12-12-07
    Hozzászólás
    280
    Begyűjtött 124 köszönetet
    99 hozzászólásával

    Alapbeállítás re: Facebook oldal

    Idézet Emphus eredeti hozzászólása Hozzászólás megtekintése
    Ha simán behányod a JS-be, akkor még nem jött létre az FB objektum. Az FB objektum csak akkor elérhető, ha az onload esemény már lefutott (betöltődött a teljes oldal), előtte nem, vagy esélyesen nem. A lényeg, hogy minden FB-s cuccot window.onload-ba rakj, és akkor létezni fog az objektum (a példakódban amúgy oda is van írva kommentben, hogy onload handlerbe rakd a dolgokat, én is bent hagytam a saját példámban: "// In your onload handler").
    Köszi, működik tökéletesen!



Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •