2012-06-01 155 views
2
<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_US/all.js#xfbml=1&appId=223245147771570"; 
fjs.parentNode.insertBefore(js, fjs);} 
(document, 'script', 'facebook-jssdk')); 
FB.Event.subscribe('edge.create', 
function(response) { 
    alert('You liked the URL: ' + response); 
});</script> 
    <h1>Lajknout stranku!</h1> 
    <div class="fb-like" data-href="https://www.facebook.com/Testra22" data-send="false" data-layout="button_count" data-width="10" data-show-faces="false" data-font="trebuchet ms"></div> 

订阅FB事件

我用这个代码创建FB Like按钮和我想显示警告就可以了,当用户点击。但有js错误Uncaught ReferenceError:FB没有定义。

回答

3

在浏览器加载之前,您开始使用Facebook JS SDK。

因为你使用异步方式来加载你需要定义window.fbAsyncInit(如documentation for JavaScript SDK描述)的JS SDK的功能和运行代码依赖于JS SDK从这里开始......

window.fbAsyncInit = function() { 
    FB.Event.subscribe('edge.create', function(response) { 
    alert('You liked the URL: ' + response); 
    }); 
}