apacska eredeti hozzászólása
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.
Könyvjelzők