2012-10-16 2 views
8

Ich möchte nicht xfbml verwenden. Ich muss iframe wie Taste wie unten verwenden. Aber das feuert nicht edge.create.Iframe Like Schaltfläche nicht feuern edge.create

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
// initalize your Facebook App 
    FB.init({ 
    appId : '113869198637480', 
    status : true, // check login status 
    cookie : true, // enable cookies to allow the server to access the session 
    xfbml : true // parse XFBML 
    }); 
// subscribe to the event 
FB.Event.subscribe('edge.create', function(response) { 
    alert('you liked this'); 
}); 
FB.Event.subscribe('edge.remove', function(response) { 
    alert('you unliked this'); 
}); 
</script> 

<iframe id="test" src="http://www.facebook.com/plugins/like.php? 
     href=http://google.com/&amp; 
     layout=button_count&amp; 
     show_faces=false&amp; 
     width=50&amp; 
     action=like&amp; 
     colorscheme=light&amp; 
     height=21" 
     scrolling="no" frameborder="0" 
     style="border:none; overflow:hidden; width:50px; 
       height:21px;" 
     allowTransparency="true"> 
+2

Nicht möglich ist die Verwendung der iframe-Version. – CBroe

+0

irgendwelche Arbeiten um? –

+1

ja, verwende nicht die iframe-Version;) – luschn

Antwort

8

Dies ist vollständig erwartet; Die JavaScript-Rückrufe sind nur verfügbar, wenn die Javascript-Version der Social Plugins verwendet wird, einschließlich der Like-Schaltfläche.

Dies ist in der Like Button documentation erwähnt:

How do I know when a user clicks a Like button? 

If you are using the XFBML version of the button, you can subscribe to the 'edge.create' event through FB.Event.subscribe. 

Wenn Sie auf die Schaltfläche als iFrame enthalten direkt, da für den Fall von Facebook-Servern auf Ihren JavaScript-Code weitergegeben werden keinen Weg zurück - die Facebook Javascript SDK verarbeitet diese Kommunikation, wenn die XFBML-Version der Schaltfläche "Gefällt mir" verwendet wird

+0

Danke, ich weiß, dass, ich brauche noch einen Weg (auch hässlich und Hacky) iFrame wie Knöpfe – CamelCamelCamel

+0

zu erkennen, die nicht möglich ist leider – Igy

+1

Wenn Sie die genauen Koordinaten (x, y) erhalten kann auf die Schaltfläche können Sie den Client erhalten Mausklick-Koordinaten und nehmen an, dass es sich um einen Like-Klick handelt. – erichste